Downsides/Gotchas of using Projections in Episerver Find

Episerver Find is my preferred way to write searches for Episerver. It allows me to write search queries quickly using a LINQ like syntax I am familiar with, while leveraging Episerver’s cloud servers to do the heavy lifting.

While this does shift some of our server load to Episerver’s servers, the standard implementation still relies on my servers to load model data, and build view models. Generally this isn’t slow, but processing complex view models can hurt performance, and impact server load, especially as result sets increase in size, and complexity.

Projections allow me to specify which fields Episerver Find should retrieve data for, for a given query. I try to use them wherever it makes sense, since it allows us to display results with very little server load. There are a few downsides/gotchas that I’ve had to work through though.

Continue reading “Downsides/Gotchas of using Projections in Episerver Find”

Debugging Episerver Find Queries

Episerver Find is a powerful search platform for Episerver, but it can be somewhat difficult to debug issues with. There are many posts on Episerver World discussing debugging with Fiddler, but none that describe how to configure it. I recently forgot myself and had to look it up again.

Add (or merge) the following to your development web.config:

<system.net>
    <defaultProxy
      enabled = "true"
      useDefaultCredentials = "true">
      <proxy 
        autoDetect="false" 
        bypassonlocal="false" 
        proxyaddress="http://127.0.0.1:8888" 
        usesystemdefault="false" 
      />
    </defaultProxy>
    <settings>
      <servicePointManager
        checkCertificateName="false"
        checkCertificateRevocationList="false"
      />
    </settings>
  </system.net>

Enable Filder to listen on the port, by going to Fidler -> Tools -> Options -> Connections, and setting the port number. Make sure “Act as a system proxy on startup” is checked too.

If Fiddler is having trouble reading HTTPS requests/responses, you may need to reset Fiddler’s HTTPS certificates.