没有调用ASP.NET MVC的HttpModule

Mat*_*ves 11 .net asp.net asp.net-mvc asp.net-mvc-2

我试图在ASP.NET MVC 2 Preview 1应用程序中实现一个每请求会话模式,并且我实现了一个IHttpModule来帮助我这样做:

public class SessionModule : IHttpModule
{
    public void Init(HttpApplication context)
    {
        context.Response.Write("Init!");
        context.EndRequest += context_EndRequest;
    }
    // ... etc...
}
Run Code Online (Sandbox Code Playgroud)

我把它放到web.config中:

  <system.web>
    <httpModules>
      <add name="SessionModule" type="MyNamespace.SessionModule" />
    </httpModules>

  <system.webServer>
    <modules runAllManagedModulesForAllRequests="true">
      <remove name="SessionModule" />
      <add name="SessionModule" type="MyNamespace.SessionModule" />
    </modules>
Run Code Online (Sandbox Code Playgroud)

但是,"初始!" 永远不会写入页面(我使用的是内置的VS Web服务器,Cassini).另外,我已经尝试在SessionModule中放置断点但它们永远不会破坏.我错过了什么?

Mat*_*ves 14

原来在Views文件夹中有一个Web.config文件,在根目录中有一个.猜猜我在哪个注册了httpModules?是的,Views文件夹一个.我将它移动到根Web.config,现在它就像一个魅力.

  • 尚未完成,但必然会.+1 (3认同)
  • +1,因为这正是我所做的,这就是它提示我仔细检查:/ (2认同)