【问题标题】:IHttpModule Not Loaded upon Bootstrap in ASP.NET在 ASP.NET 中引导时未加载 IHttpModule
【发布时间】:2011-06-15 02:25:40
【问题描述】:

我正在尝试为 ASP.NET 创建一个 URL 重写模块。

我是这样声明的:

namespace A.Webrole 
public class UrlRewriterHttpModule : IHttpModule{...

我说

<system.webServer>
    <modules>
        <add name="UrlRewriterHttpModule" type="A.Webrole.UrlRewriterHttpModule"/>
    </modules>
</system.webServer>

Web.config 文件中。

然后我将断点放在UrlRewriterHttpModulepublic void Init(HttpApplication context) 方法中,但是没有断点停止执行。

然后我只是将类重命名为一个虚拟名称并再次重新启动应用程序,没有抛出异常 class not found 等。

你有什么想法为什么这甚至没有加载 http 模块?

【问题讨论】:

    标签: asp.net url-rewriting web-config


    【解决方案1】:

    这取决于您正在做什么来测试它。如果您使用的是 Visual Studio 的内置 Web 服务器或 IIS6,则需要不同的配置设置;

    <configuration>
       <system.web>
          <httpModules>
              <add name="UrlRewriterHttpModule" type="A.Webrole.UrlRewriterHttpModule"/>
          </httpModules>
       </system.web>
    </configuration>
    

    当然,如果合适的话,您可以直接使用 MS 提供的rewriter 并节省一些时间:)

    【讨论】:

    • 实际上我的重写器会很复杂,并且给定的规则机制不适合我的需要。我是否也应该同时保留现有设置?
    • 是的,保留现有的,这样它就可以在 IIS7 上运行。如果你只是为 IIS7 开发,那么看看 IIS Express,它会让你的开发更容易。
    猜你喜欢
    • 1970-01-01
    • 2021-12-12
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2019-08-21
    相关资源
    最近更新 更多