I've made migration of a version 4.62 site to version 5.2.375.7 (EPiServer 5 R2) which is the latest version of EPiServer in the moment. Migartion of the database and the files was made with the Migration Tool 1.1 and everything went fine. After that I upgraded the code of the application and again everything was OK until I tried to perform a search on the site.
Just to mention that in the old version I've used PageSearch control and now after the upgrade of the code, the same one was replaced with SearchDataSource and Repeater controls. When I tried to search only pages, the search worked perfectly. Then I tried to search for files and the result set was empty even though for the same search keyword with the old code I am getting results. I tried to find solution on the forum and took the folowing steps:
1. Checked that the Indexing service is running 2. Tried to perform search of files through File Managament in admin mode and it worked well, the result set was not empty 3. Tried to search with the property EnableVisibleInMenu on the SearchDataSource control, first set to true then to false...same result nothing returned. 4. Checked the IndexingService config file to see if the folders are set for indexing...they were. 5. Deleted the index folders in the VPP folders and reindexed them again...File Managament again worked fine but not the SearchDataSource. 6. Then I tried to debug with handling the Selected event on the SearchDataSource and got the following exception logged:
Object reference not set to an instance of an object.
Description: An unhandled exception occurred during the execution of the current web request. Please review the stack trace for more information about the error and where it originated in the code.
Exception Details: System.NullReferenceException: Object reference not set to an instance of an object.
Source Error:
An unhandled exception was generated during the execution of the current web request. Information regarding the origin and location of the exception can be identified using the exception stack trace below.
Stack Trace:
[NullReferenceException: Object reference not set to an instance of an object.] EPiServer.Web.WebControls.GenericDataSourceView`1.ExecuteSelect(DataSourceSelectArguments arguments) +350 System.Web.UI.WebControls.Repeater.GetData() +36 System.Web.UI.WebControls.Repeater.CreateControlHierarchy(Boolean useDataSource) +214 System.Web.UI.WebControls.Repeater.OnDataBinding(EventArgs e) +51 System.Web.UI.WebControls.Repeater.DataBind() +75 System.Web.UI.WebControls.Repeater.EnsureDataBound() +55 System.Web.UI.WebControls.Repeater.OnPreRender(EventArgs e) +16 System.Web.UI.Control.PreRenderRecursiveInternal() +113 System.Web.UI.Control.PreRenderRecursiveInternal() +202 System.Web.UI.Control.PreRenderRecursiveInternal() +202 System.Web.UI.Control.PreRenderRecursiveInternal() +202 System.Web.UI.Control.PreRenderRecursiveInternal() +202 System.Web.UI.Control.PreRenderRecursiveInternal() +202 System.Web.UI.Page.ProcessRequestMain(Boolean includeStagesBeforeAsyncPoint, Boolean includeStagesAfterAsyncPoint) +4586
And here are some of the setting that I give to the SearchDataSource in codebehind: epiSearchSource.PageLink = PageReference.StartPage; epiSearchSource.PageLinkProperty = "MainContainer"; epiSearchSource.SearchLocations = "~/Global/,~/Documents/,~/PageFiles/,~/upload/"; epiSearchSource.Selected += HandleErrors; epiSearchSource.Selected += HandleEmptyResult;
Does anybody knows what the problem might be or this is a bug in the new EPiServer release?
Hi
I've made migration of a version 4.62 site to version 5.2.375.7 (EPiServer 5 R2) which is the latest version of EPiServer in the moment.
Migartion of the database and the files was made with the Migration Tool 1.1 and everything went fine. After that I upgraded the code of the application and again everything was OK until I tried to perform a search on the site.
Just to mention that in the old version I've used PageSearch control and now after the upgrade of the code, the same one was replaced with SearchDataSource and Repeater controls. When I tried to search only pages, the search worked perfectly. Then I tried to search for files and the result set was empty even though for the same search keyword with the old code I am getting results. I tried to find solution on the forum and took the folowing steps:
1. Checked that the Indexing service is running
2. Tried to perform search of files through File Managament in admin mode and it worked well, the result set was not empty
3. Tried to search with the property EnableVisibleInMenu on the SearchDataSource control, first set to true then to false...same result nothing returned.
4. Checked the IndexingService config file to see if the folders are set for indexing...they were.
5. Deleted the index folders in the VPP folders and reindexed them again...File Managament again worked fine but not the SearchDataSource.
6. Then I tried to debug with handling the Selected event on the SearchDataSource and got the following exception logged:
Object reference not set to an instance of an object.
Description: An unhandled exception occurred during the execution of the current web request. Please review the stack trace for more information about the error and where it originated in the code.
Exception Details: System.NullReferenceException: Object reference not set to an instance of an object.
Source Error:
An unhandled exception was generated during the execution of the current web request. Information regarding the origin and location of the exception can be identified using the exception stack trace below.
Stack Trace:
[NullReferenceException: Object reference not set to an instance of an object.]
EPiServer.Web.WebControls.GenericDataSourceView`1.ExecuteSelect(DataSourceSelectArguments arguments) +350
System.Web.UI.WebControls.Repeater.GetData() +36
System.Web.UI.WebControls.Repeater.CreateControlHierarchy(Boolean useDataSource) +214
System.Web.UI.WebControls.Repeater.OnDataBinding(EventArgs e) +51
System.Web.UI.WebControls.Repeater.DataBind() +75
System.Web.UI.WebControls.Repeater.EnsureDataBound() +55
System.Web.UI.WebControls.Repeater.OnPreRender(EventArgs e) +16
System.Web.UI.Control.PreRenderRecursiveInternal() +113
System.Web.UI.Control.PreRenderRecursiveInternal() +202
System.Web.UI.Control.PreRenderRecursiveInternal() +202
System.Web.UI.Control.PreRenderRecursiveInternal() +202
System.Web.UI.Control.PreRenderRecursiveInternal() +202
System.Web.UI.Control.PreRenderRecursiveInternal() +202
System.Web.UI.Page.ProcessRequestMain(Boolean includeStagesBeforeAsyncPoint, Boolean includeStagesAfterAsyncPoint) +4586
These are my settings:
web.config:
<virtualPath customFileSummary="~/FileSummary.config">
<providers>
<clear />
<add virtualPath="~/App_Themes/Default/" physicalPath="C:\Program Files\EPiServer\CMS\5.2.375.7\application\App_Themes\Default"
name="App_Themes_Default" type="EPiServer.Web.Hosting.VirtualPathNonUnifiedProvider,EPiServer" />
<add virtualPath="~/secure/" physicalPath="C:\Program Files\EPiServer\CMS\5.2.375.7\application\UI"
name="UI" type="EPiServer.Web.Hosting.VirtualPathNonUnifiedProvider,EPiServer" />
<add virtualPath="~/Util/" physicalPath="C:\Program Files\EPiServer\CMS\5.2.375.7\application\util"
name="UtilFiles" type="EPiServer.Web.Hosting.VirtualPathNonUnifiedProvider,EPiServer" />
<add virtualPath="~/WebServices/" physicalPath="C:\Program Files\EPiServer\CMS\5.2.375.7\application\webservices"
name="WebServiceFiles" type="EPiServer.Web.Hosting.VirtualPathNonUnifiedProvider,EPiServer" />
<add showInFileManager="false" virtualName="upload" virtualPath="~/upload/"
bypassAccessCheck="false" physicalPath="C:\WebApps\RB\RB.Web.Vpp\upload"
name="Siteupload" type="EPiServer.Web.Hosting.VirtualPathVersioningProvider,EPiServer" />
<add showInFileManager="true" virtualName="Documents" virtualPath="~/Documents/"
bypassAccessCheck="false" physicalPath="C:\WebApps\RB\RB.Web.Vpp\Documents"
maxVersions="7" customFileSummary="~/summary.config" name="SiteDocuments"
type="EPiServer.Web.Hosting.VirtualPathVersioningProvider,EPiServer" />
</providers>
</virtualPath>
IndexingService configuration:
<episerver.indexingService>
<indexes>
<add connectionString="Data Source=INXZZL;Database=dbRB_Main;User Id=ptkdbuser;Password=ptk99dbuser$;Network Library=DBMSSOCN;" databaseClient="" filePath="C:\WebApps\RB\RB.Web.Vpp\upload" itemRoot="/upload" />
<add connectionString="Data Source=INXZZL;Database=dbRB_Main;User Id=ptkdbuser;Password=ptk99dbuser$;Network Library=DBMSSOCN;" databaseClient="" filePath="C:\WebApps\RB\RB.Web.Vpp\Documents" itemRoot="/Documents" />
<add connectionString="Data Source=INXZZL;Database=dbRB_Main;User Id=ptkdbuser;Password=ptk99dbuser$;Network Library=DBMSSOCN;" databaseClient="" filePath="C:\WebApps\RB\RB.Web.Vpp\Global\" itemRoot="/Global" />
<add connectionString="Data Source=INXZZL;Database=dbRB_Main;User Id=ptkdbuser;Password=ptk99dbuser$;Network Library=DBMSSOCN;" databaseClient="" filePath="C:\C:\WebApps\RB\RB.Web.Vpp\PageFiles\" itemRoot="/PageFiles" />
</indexes>
</episerver.indexingService>
And here are some of the setting that I give to the SearchDataSource in codebehind:
epiSearchSource.PageLink = PageReference.StartPage;
epiSearchSource.PageLinkProperty = "MainContainer";
epiSearchSource.SearchLocations = "~/Global/,~/Documents/,~/PageFiles/,~/upload/";
epiSearchSource.Selected += HandleErrors;
epiSearchSource.Selected += HandleEmptyResult;
Does anybody knows what the problem might be or this is a bug in the new EPiServer release?