EPiServer Search - Can't resolve symbol error

 

I have copy pasted following code from the EPiServer 7 CMS SDK Documentation:

SearchResults results = Locate.SearchHandler().GetSearchResults(groupQuery, pagingNumber, pagingSize);

        ContentSearchHandler contentSearchHandler = Locate.ContentSearchHandler();
        foreach (var hit in results.IndexResponseItems)
        {
            // Use the content search handler to convert the page hit into a PageData
            yield return contentSearchHandler.GetContent<PageData>(hit);
        }

And I can't resolve the text marked in bold.
Which assembly to I need to add to my references or what namespace should I add?

Thank you in advance!
#65870 Feb 12, 2013 20:37
  •  

    Hi Daniel,

    The Locate is a instance of the ServiceLocator and is a property inherited from the PageBase class I think.

    #65874 Edited, Feb 13, 2013 9:10
  •  

    Hi Daniel

    I don't see what part is in bold but I was able to get the code from the EPiServer 7 CMS Documentation to work by replacing

    ContentSearchHandler contentSearchHandler = Locate.ContentSearchHandler();

    with

    var serviceLocationHelper = ServiceLocator.Current.GetInstance<ServiceLocationHelper>();
    var contentSearchHandler = serviceLocationHelper.ContentSearchHandler();



    #65882 Feb 13, 2013 12:43
  •  

    Hi,


    In addition, instead of locating the ServiceLocationHelper, which is a class that contains common shortcuts to the ServiceLocator, and retrieving the search handler from there, you can fetch the search handler directly from the ServiceLocator:

    var contentSearchHandler = ServiceLocator.Current.GetInstance<ContentSearchHandler>();

    #65890 Feb 13, 2013 14:11
  •  

    Great Joel, thanks!

    #122166 May 27, 2015 13:43