这让我很生气。我已经在Web窗体应用程序上实现了Web.Routing。该应用程序工作正常,然后莫名其妙地(至少在目前)抛出以下错误消息:
对象引用未设置为 对象的实例。在 System.Web.Routing.RouteCollection.GetRouteData(HttpContextBase httpContext) System.Web.Routing.UrlRoutingModule.PostResolveRequestCache(HttpContextBase 上下文) System.Web.Routing.UrlRoutingModule.OnApplicationPostResolveRequestCache(对象 发件人,EventArgs e)at System.Web.HttpApplication.SyncEventExecutionStep.System.Web.HttpApplication.IExecutionStep.Execute() 在 System.Web.HttpApplication.ExecuteStep(IExecutionStep 步,布尔& completedSynchronously)
此错误是间歇性的,并且站点周围没有任何导航会重新创建错误。
我对错误的解释是对服务器的请求导致带有空httpContext的PostResolveRequestCache事件,但我不确定这是怎么回事。
通过重新启动应用程序池解决了该问题。
应用程序正在IIS6上运行,因此,我已经添加了一个Wildcard应用程序映射到aspnet_isapi.dll并且未选中“验证该文件存在”。这是为了启用没有文件扩展名的友好网址,但我正在考虑将其更改为可能的解决方法。这背后的想法是,可能有一个请求被发送到服务器,正在接收不应该的模块。
我的实施已经过定制,但遵循哈克先生制定的一般准则。由于错误的性质,我不确定我的任何代码是否会提供很多见解,但我显然愿意这样做。
非常感谢任何帮助。
答案 0 :(得分:1)
添加自定义文件扩展名并不理想,但却阻止了进一步的错误消息。
答案 1 :(得分:1)
可能与正在修改的路径集合相关。请参阅other question。
答案 2 :(得分:0)
该错误与.Net中的线程安全集合一致。
上查看我的最后一个答案