gpt4 book ai didi

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

转载 作者:行者123 更新时间:2023-12-02 13:43:39 24 4
gpt4 key购买 nike

我有一个简单的 ASP.NET 3.5 SP1 Web 窗体应用程序...我添加了 System.Web.Routing DLL,并且创建了一个简单的路由,该路由返回标准 ASP.NET 页面作为“IHttpHandler” ”。

一切都很好...除了 HttpContext.Current.User 是 null ???

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

  • Application_BeginRequest
  • Application_AuthenticateRequest
  • Application_EndRequest

但是,当使用 ASP.NET 路由时...这些事件都不会触发。我错过了什么吗?

最佳答案

假设您使用的是 IIS6,另一种方法是定义“通配符”扩展处理程序。将这个简单的“catch all”映射添加到 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 路由 - 自定义路由是否完全跳过 Global.asax 中的所有内容?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/400236/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com