我根据这里找到的QueryStringModule创建了一个: https://stackoverflow.com/questions/6157150/mvc3-encrypted-querystring-parameters
当我使用VS2010调试器运行我的Web应用程序时,它工作正常,但是当我通过WebMatrix访问我的Web应用程序时,它没有被考虑在内。
以下是我在Web.config文件的system.web部分中注册的方法:
<httpModules>
<add name="QueryStringModule" type="MyProject.Lib.HttpModules.QueryStringModule" />
</httpModules>
有关WebMatrix为何不使用QueryStringModule的任何线索?我的网站是使用EF 4.1的ASP.Net MVC 3项目。
答案 0 :(得分:2)
WebMatrix使用IIS Express 7.5服务器,默认情况下它以“集成”管道模式运行(在WebMatrix站点设置中,您可以看到“.NET 4(集成)”)。您有以下两个选项
选项-1: 保持web.config文件不变(即经典模式http模块注册)并将管道模式更改为Classic
选项-2: 不要更改站点的管道模式,而是更新web.config文件以在集成模式下注册HTTP模块(您的web.config应如下所示)。请查看http://msdn.microsoft.com/en-us/library/ms227673.aspx#Y873以了解有关http模块注册的更多信息。
<configuration>
<system.webServer>
<modules>
<add name="QueryStringModule" type="MyProject.Lib.HttpModules.QueryStringModule" />
</modules>
</system.webServer>
</configuration>