我有一个基于EPiServer 7.1的MVC 4应用程序。EPiServer使用StructureMap作为它的IoC框架,这可能与我的问题有关。总之,这就是我所做的:
添加NullReferenceException后,所有请求都会失败,例如:

我尝试通过在level=的一瞥部分中的“日志记录”“跟踪”中进行注释来启用一瞥日志记录,但是在web.config事件日志或log4net日志文件中都找不到任何日志记录。
关于如何进一步排除故障或提示解决方案的想法?
发布于 2013-06-26 13:43:28
一个解决办法(感谢@avanderhoorn!)将其添加到web.config的“一瞥”部分:
<glimpse defaultRuntimePolicy="On" endpointBaseUri="~/Glimpse.axd">
<tabs>
<ignoredTypes>
<add type="Glimpse.AspNet.Tab.Routes, Glimpse.AspNet"/>
</ignoredTypes>
</tabs>
<inspectors>
<ignoredTypes>
<add type="Glimpse.AspNet.Inspector.RoutesInspector, Glimpse.AspNet"/>
<add type="Glimpse.Mvc.Inspector.ModelBinderInspector, Glimpse.Mvc4"/>
</ignoredTypes>
</inspectors>
</glimpse>这将禁用与EPiServer决裂的一瞥的两个部分。据我所见,您仍然可以得到最有用的部分!
发布于 2013-06-25 07:10:01
+1在这里相同。到目前为止,我发现通过增加一瞥,它增加了所有路由,并替换了自己的代理类,用于拦截路由调用。EPiServer (特别是UrlResolver )似乎不喜欢这种情况。造成此异常的根本原因是以下方法:
UrlResolver.GetVirtualPath(ContentReference contentLink, string language, RouteValueDictionary routeValues, RequestContext requestContext)它不喜欢的是,路由表中没有ContentRoute类型的路由:
foreach (RouteBase base2 in from r in this._routes
where (bool) (r is ContentRoute)
select r)
{
...
if(...)
{
return virtualPath;
}
}
return null;并在将null返回给调用方NullReferenceExpcetion occours后,在:
UrlExtensions.MapUrlFromRoute(RequestContext requestContext, RouteCollection routeCollection, string url)似乎应该等待来自EPiServer的补丁。
https://stackoverflow.com/questions/17190509
复制相似问题