我們在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搜索方法調用也不會返回任何結果 –