在ASP.NET内部运行ASP.NET MVC时,会话为空

在ASP.NET内部运行ASP.NET MVC时,会话为空,asp.net,asp.net-mvc,asp.net-mvc-2,Asp.net,Asp.net Mvc,Asp.net Mvc 2,如果我创建一个ASP.NET Web应用程序项目,然后使用如下定义的默认路由向其中添加一个ASP.NET MVC 2 routes.MapRoute( "Default", // Route name "{controller}/{action}/{id}", // URL with parameters new { action = "Index", id = UrlParameter.Optional }

如果我创建一个ASP.NET Web应用程序项目,然后使用如下定义的默认路由向其中添加一个ASP.NET MVC 2

        routes.MapRoute(
            "Default", // Route name
            "{controller}/{action}/{id}", // URL with parameters
            new { action = "Index", id = UrlParameter.Optional }
        );
当我尝试在控制器的操作方法中访问会话对象时,该对象为NULL。如果我改变路线到这里

        routes.MapRoute(
            "Default", // Route name
            "{controller}.aspx/{action}/{id}", // URL with parameters
            new { action = "Index", id = UrlParameter.Optional }
        );
一切正常。无论出于何种原因,.aspx扩展允许使用会话,但后者不允许。我什么都用.NET3.5


有什么想法吗???谢谢

解决方案是将runAllManagedModulesForAllRequests=“true”添加到web.config中的configuration>system.webServer>modules标记中