Asp.net httpModules URL重写器可以在Visual Studio开发服务器上工作,但不能在IIS 7.5上工作

Asp.net httpModules URL重写器可以在Visual Studio开发服务器上工作,但不能在IIS 7.5上工作,asp.net,visual-studio-2010,iis-7.5,Asp.net,Visual Studio 2010,Iis 7.5,在我的web.config中,我有一个自定义Url重写器类,它接受诸如/movies/godzilla.aspx之类的查询字符串,并将其转换为/template.aspx?id=1234 当我在Visual Studio中的内置web服务器上本地运行重写器时,它工作正常,但当我将其放在IIS 7.5上并尝试使用友好名称访问页面时,我收到一条消息,说连接已重置,必须执行iisreset才能使网站重新联机。使用查询字符串URL从服务器完全可以访问该页面 以下是my web.config的一个片段:

在我的web.config中,我有一个自定义Url重写器类,它接受诸如/movies/godzilla.aspx之类的查询字符串,并将其转换为/template.aspx?id=1234

当我在Visual Studio中的内置web服务器上本地运行重写器时,它工作正常,但当我将其放在IIS 7.5上并尝试使用友好名称访问页面时,我收到一条消息,说连接已重置,必须执行iisreset才能使网站重新联机。使用查询字符串URL从服务器完全可以访问该页面

以下是my web.config的一个片段:

    <system.web>
        <httpModules>
            <add name="ApFriendlyURL" type="FriendlyURL" />
        </httpModules>
        ....
    </system.web>

....

我不明白为什么在visualstudios中的Dev服务器上运行而在IIS上不运行时,这种方法会起作用。我已经尝试过IIS中的设置,但是我似乎找不到任何可以让我使用FriendlyURL类的东西,因为IIS 7.5中的重写器HTTP模块必须在
system.webServer/modules
部分进行配置。只需在那里复制模块定义

请注意重复模块配置可能存在的问题。如果是这样,则关闭集成模式配置:


如果您正在使用.NET 2.0应用程序,您应该在应用程序池设置中启用“集成模式”

非常感谢,将定义添加到system.webServer/modules中非常有效。