iis-6 - 未在 GetRouteData (System.Web.Routing) 中设置对象引用

标签 iis-6 routing module httpcontext

这让我发疯。我已经在 Web 窗体应用程序上实现了 Web.Routing。该应用程序工作正常,然后莫名其妙地(至少目前)抛出以下错误消息:

Object reference not set to an instance of an object. at System.Web.Routing.RouteCollection.GetRouteData(HttpContextBase httpContext) at System.Web.Routing.UrlRoutingModule.PostResolveRequestCache(HttpContextBase context) at System.Web.Routing.UrlRoutingModule.OnApplicationPostResolveRequestCache(Object sender, EventArgs e) at System.Web.HttpApplication.SyncEventExecutionStep.System.Web.HttpApplication.IExecutionStep.Execute() at System.Web.HttpApplication.ExecuteStep(IExecutionStep step, Boolean& completedSynchronously)

此错误是间歇性的,无论在站点周围导航多少次都不会重现错误。

我对该错误的解释是,对服务器的请求导致了带有空 httpContext 的 PostResolveRequestCache 事件,但我不确定这是怎么可能的。

问题通过重新启动应用程序池得到解决。

该应用程序在 IIS6 上运行,因此,我在 aspnet_isapi.dll 中添加了一个通配符应用程序映射,并且未选中“验证文件是否存在”。这是为了启用没有文件扩展名的友好 url,但是我正在考虑将其更改为可能的解决方法。这背后的想法是,可能有一个请求被发送到服务器,该请求被拾取了不应该被拾取的模块。

我的实现是定制的,但遵循 Haack 先生制定的一般准则。由于错误的性质,我不确定我的任何代码是否会提供很多见解,但我显然愿意根据要求这样做。

如有任何帮助,我们将不胜感激。

最佳答案

添加自定义文件扩展名并不理想,但可以防止出现更多错误消息。

关于iis-6 - 未在 GetRouteData (System.Web.Routing) 中设置对象引用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/888747/

相关文章:

ruby-on-rails - 如何在 Rails 3 中路由多级嵌套资源?

python - Python中的模块和脚本有什么区别?

javascript - 将参数传递给模块的匿名函数

asp.net - 为什么 OPTIONS 请求未到达我的 ASP.NET 应用程序?

winapi - 使用 PowerShell : "Exception calling Recycle" 回收 IIS 应用程序池

python - 两个 flask 蓝图的 url_prefix 相同

java - 从 jetty 到绝对 URL 的 Camel 路线

编译内核模块、头文件问题、makefile 问题

css - 使用 MVC 3 在 IIS 6 上动态创建 Site.css。在 dev 中工作,prod 失败。为什么?

asp.net-mvc - 从ASP.NET MVC应用程序写入事件日志时的安全异常