ASP.NET路由 – 自定义路由完全跳过Global.asax中的所有内容吗?

前端之家收集整理的这篇文章主要介绍了ASP.NET路由 – 自定义路由完全跳过Global.asax中的所有内容吗?前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
我有一个简单的ASP.NET 3.5 SP1 Web窗体应用程序…我添加了System.Web.Routing DLL,我做了一个简单的路由,返回一个标准的ASP.NET页面作为“IHttpHandler”.

一切都很好……除了HttpContext.Current.User为空???

所以,我做了一点挖掘(我在Global.asax文件中的所有事件中放置了断点).通常,这些断点会受到影响(当我导航到标准的“.aspx”页面时):

> Application_BeginRequest
> Application_AuthenticateRequest
> Application_EndRequest

但是,当使用ASP.NET路由时……这些事件都没有被触发.我错过了什么吗?

解决方法

假设您正在使用IIS6,另一种方法是定义“通配符”扩展处理程序.将这个简单的“全部捕获”映射添加到IIS6将使其能够处理您的无扩展请求.默认情况下,.NET安装程序将“.aspx”映射到aspnet_isapi.dll,这就是.aspx扩展名的工作原理.要将没有扩展名的请求映射到APS.NET引擎,您必须告诉IIS查看每个请求.

这是一篇快速文章,解释了这个过程:

http://haacked.com/archive/2008/11/26/asp.net-mvc-on-iis-6-walkthrough.aspx

希望有助于减少您网址的“蹩脚”因素.

猜你在找的asp.Net相关文章