HttpModule没有运行Visual Studio

Mat*_*man 20 c# asp.net cassini httpmodule visual-studio

我正在使用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>...
Run Code Online (Sandbox Code Playgroud)

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

有关为什么会出现此问题的任何想法?

(我还尝试了global.asax中的Application_BeginRequest事件.虽然我还是希望保留web.config中的所有内容,但仍然没有运气.)

blo*_*art 40

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>
Run Code Online (Sandbox Code Playgroud)

请注意,我还为IIS7设置添加了一个前提条件


Mar*_*ski 0

您是否尝试将模块声明也放入元素中?当使用 Cassini 在开发中运行时,这通常是我必须放置模块以使它们运行的​​地方。