WebMatrix未考虑自定义QueryStringModule(httpModules)

时间:2011-08-22 14:45:57

标签: asp.net-mvc-3 query-string httpmodule webmatrix iis-express

我根据这里找到的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项目。

1 个答案:

答案 0 :(得分:2)

WebMatrix使用IIS Express 7.5服务器,默认情况下它以“集成”管道模式运行(在WebMatrix站点设置中,您可以看到“.NET 4(集成)”)。您有以下两个选项

选项-1: 保持web.config文件不变(即经典模式http模块注册)并将管道模式更改为Classic

  1. 在WebMatrix中打开您的网站
  2. Naviagate到webMatrix中的网站设置
  3. 更改.Net Framework版本如下所示
  4. enter image description here

    选项-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>