我们在Kentico 8上开发它,但升级到9,因为我们认为它会使MVC部分更容易,比如引入大量现有MVC代码,并且在MVC中编写更多的代码大量页面,而不是试图为所有东西制作自定义的webparts,以便它成为门户/ mvc混合。客户可以在他们的内容页面上工作,并且我们可以快速将一些MVC页面连接到我们现有的基础架构。Kentico 9 MVC - 调用智能搜索会导致IIS Express工作进程崩溃
但是,现在没有什么工作很好,我们遇到了很多麻烦。有很多配置摔跤让MVC网站作为CMSApp下的虚拟目录工作。
大多数情况下,当我尝试在调试时使用API从MVC控制器调用智能搜索时,IIS Express工作进程崩溃,所以我不知道问题出在哪里。
我们基本上是从Kentico 9 MVC例如复制在这里我们的代码:https://github.com/Kentico/Mvc
[ValidateInput(false)]
public ActionResult Index(string searchText, int? page)
{
var pageIndex = (page ?? 1) - 1;
int totalItemsCount;
var model = new SearchResults()
{
Items = mService.Search(searchText, pageIndex, PAGE_SIZE, out totalItemsCount),
PageIndex = pageIndex,
PageSize = PAGE_SIZE,
Query = searchText,
TotalItemCount = totalItemsCount
};
return View(model);
}
而且我们在SearchController手动设置Kentico SearchService像这样:
public SearchController()
{
var indexInfos = SearchIndexInfoProvider.GetSearchIndexes();
string[] indexNames = (from i in indexInfos
select i.IndexCodeName).ToArray();
mService = new SearchService(indexNames, CultureHelper.GetDefaultCultureCode("SCGDEV"), "SCGDEV",true);
}
我们使用VS 2013,而Kentico的设置是一个ASPX/Portal混合体,因此客户可以使用门户添加内容,并且我们可以通过MVC项目集成所有自定义遗留功能,MVC项目在主WebApp中设置为虚拟目录解。
与我们的自定义代码一起使用MVC项目似乎比尝试创建一堆自定义Web部件来完成我们已经构建的相同功能要快得多。
任何建议,将不胜感激。我也开通了Kentico的支持票,所以也许他们有一个bug。
我在此期间发现的一些东西:将此代码部署到我们的开发服务器并在其中进行测试并不会导致相同的错误。 (我向SearchCOntroller添加了一些日志代码 即使使用相同的搜索文本,并在搜索索引的预览页面上返回结果,API搜索方法调用也不会返回任何结果 –