Try to run Fiddler (https://www.telerik.com/fiddler) to see what it is happening in the communication from the site to Episerver Find.
The find query is really fast. The problem seems to be the calls to identityMappingService, also, I noticed that LoadChildrenReferencesAndTypes gets called for each item. I've added a return in that method now, if it's a child to the folder I just return a empty list. Not ideal, but it made it a lot faster.
Ok. Maybe a lot of talking to the DDS is happening in that Service that makes it slow (I do not remember where it keeps the mappings but I guess in the DDS and that is not directly famous to be fast).
Hey Josef, did you find any solution to this issue? Im getting the same dead lock message. Not using Find but Elastic, so pretty similar setup.
No, I ended up skipping the custom content provider altogether, had a lot of other problems as well, sorry..
Ok, I got it working now. Problem was that I messed up the content folder structure I created in LoadChildrenReferencesAndTypes.
As always, the first step of fixing a performance problem is to identify the bottleneck. You can use something like dotTrace to profile your code. Looking at the code is not enough to determine where the bottleneck is, and in most of the cases, it is something else entirely (trust me I've been there)
Hello, I've built a custom content provider that fetches data from Find. It's reaaally slow, in edit mode it can take up to 3 minutes to fetch all data(all data = 400 objects...).
This does not seem right, 400 objects(and from FIND!) should load really fast.
Anyhow, my first thought was that I should split the objects in different subfolders so episerver does not load all data right away, but when I try to do that I get the following error message: "Deadlock risk detected. Trying to read a page from the same thread that is already trying to read the same page."
I will post my all methods in my Content provider below, would really appreciate if someone could look at it and maybe give me some pointers... :)
Questions:
[Pasting files is not allowed]