c# - HttpModule 未与 Visual Studio 一起运行

标签 c# asp.net visual-studio httpmodule cassini

我正在使用 HttpModule 在我的网站上做一些 URL 缩短。我正在使用 Visual Studio 2008 和 IIS 7,以及 .Net 3.5。

当模块在 web.config 的 system.webServer 元素中指定,并且站点在 IIS 中运行时,它工作正常。配置如下所示:

<system.webServer>
        <modules>
            <add name="MinimizeModule" type="ClipperHouse.UrlMinimizer.MinimizeModule" />
        </modules>...

我的模块附加到 BeginRequest 事件,一切正常。但是,我无法使用内置的 VS Web 服务器 (Cassini) 运行它。我尝试将模块配置移动到 web.config 中的 system.web 元素,但没有成功。我在上面设置了一个断点,没有任何反应。

关于为什么这会成为一个问题有什么想法吗?

(我还在 global.asax 中尝试了 Application_BeginRequest 事件。仍然没有运气,尽管我更愿意将所有内容都保留在 web.config 中。)

最佳答案

Cassini,IIS提供的开发web服务器使用IIS6模块语法,所以你必须像这样复制模块添加

<system.web>
  <httpModules>
    <add name="MinimizeModule" type="ClipperHouse.UrlMinimizer.MinimizeModule" />
  </httpModules>
</system.web>


<system.webServer>
  <validation validateIntegratedModeConfiguration="false"/>
  <modules>
    <remove name="MinimizeModule" />
    <add name="MinimizeModule" type="ClipperHouse.UrlMinimizer.MinimizeModule" 
         preCondition="managedHandler" />
  </modules>
</system.webServer>

请注意,我还在您的 IIS7 设置中添加了前提条件

关于c# - HttpModule 未与 Visual Studio 一起运行,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/963545/

相关文章:

c# - 如何在 C# 中获取麦克风的全名?

c# - 在asp.net mvc中通过ajax上传带有其他参数的文件

javascript - 使用 jquery/javascript 验证日期时间 asp net 文本框

asp.net - 由于 GridView 中的旧数据而选择错误的项目

C# 设计 View 不会在 winform 中加载图形元素

c# - C# 是否具有零成本抽象?

c# - 如何在自定义用户控件上创建点击事件?

c# - 重构公共(public)代码的最佳方式

c++ - 在 Emacs 中使用 Visual Studio 6 C++ 编译器

python - pip安装tornado在VS2017中失败