在将Umbraco 4.8项目移动到服务器时,对Model.MediaById的调用在Examine.Manager.g



我使用的是Umbraco 4.8和IIS 7。从WebMatrix运行时,我的代码运行良好。昨天,我将它移到本地IIS服务器上进行测试,然后再将其移到远程服务器上。我无法获得一个简单的媒体文件工作请求。我不能按照其他线程的建议使用"检查"面板,因为这与4.8不兼容。我清空了我的媒体文件夹(在后台,然后在文件夹本身),并使用桌面媒体上传器将图像全部放回。没有区别。我的简单Razor文件:

<img  src="@Model.MediaById(Model.friendlyPicture).umbracoFile" alt="picture" />

导致以下崩溃:加载Razor脚本时出错(文件:Tg Profile Image)"Examination.EExaminManager"的类型初始值设定项引发异常。在Examine.Manager.get_Instance()

 at umbraco.MacroEngines.ExamineBackedMedia.GetUmbracoMedia(Int32 id)
 at umbraco.MacroEngines.Library.RazorLibraryCore.MediaById(Int32 Id)
 at umbraco.MacroEngines.Library.RazorLibraryCore.MediaById(String Id)
 at umbraco.MacroEngines.DynamicNode.MediaById(String Id)
 at System.Dynamic.UpdateDelegates.UpdateAndExecute2[T0,T1,TRet](CallSite site, T0 arg0,    T1 arg1)
 at ASP._Page_macroScripts_tgProfileImage_cshtml.Execute() in    c:WebsitesUmbracoSitesTodd GrownsToddUmbracoSitemacroScriptstgProfileImage.cshtml:line 2
 at System.Web.WebPages.WebPageBase.ExecutePageHierarchy()
 at System.Web.WebPages.WebPage.ExecutePageHierarchy(IEnumerable`1 executors)
 at System.Web.WebPages.WebPage.ExecutePageHierarchy()
 at System.Web.WebPages.WebPageBase.ExecutePageHierarchy(WebPageContext pageContext, TextWriter writer, WebPageRenderingBase startPage)
 at umbraco.MacroEngines.RazorMacroEngine.ExecuteRazor(MacroModel macro, INode currentPage)
 at umbraco.MacroEngines.RazorMacroEngine.Execute(MacroModel macro, INode currentPage)

在以前的项目中,我只是使用上传功能将图像添加到页面中。这次使用MediaPicker似乎要好得多,可以避免两次上传图像。我尝试过以各种方式加载图像(包括内联剃刀宏和我想使用的ImageGen.ashx),但它总是落在同一个地方。我的app_data文件夹中没有Examine索引,所以我不知道如何处理损坏的索引。

在不同的地方都有类似的错误报告,但没有一个我可以使用的答案。

我可能在读取ExamineIndex.config或ExamineSettings.config文件时遇到问题。

当尝试获取媒体时,它将首先尝试从Examine获取媒体,然后再转到数据库。在这种情况下,它似乎找不到索引,这可能是因为权限问题或配置错误。由于它在webmatrix中工作,我认为配置很好。

您是否已尝试授予应用程序池帐户对文件夹的完全权限?

在过去移动网站时,我会在移动后重建索引。在这种情况下,它是存储媒体和文档数据的内部索引。

问候

Ismail

最新更新