在我的web.config中,我有一个自定义的Url重写器类,它接受查询字符串,如/movies/godzilla.aspx,并将其转换为/template.aspx?id=1234
当我在Visual Studio的内置Web服务器上本地运行它时,重写器工作正常,但是当我把它放在IIS 7.5上并尝试使用友好名称访问页面时,我收到一条消息,说连接已重置并且必须做一个iisreset让网站重新上线。使用查询字符串URL可以从服务器完全访问该页面。
以下是我的web.config的片段:
<system.web>
<httpModules>
<add name="ApFriendlyURL" type="FriendlyURL" />
</httpModules>
....
</system.web>
我很困惑为什么在Visual Studio中的Dev Server上运行而在IIS上运行时这种方法有效。我玩过IIS中的设置,但我似乎无法找到任何可以让我使用FriendlyURL类作为重写器的东西
答案 0 :(得分:1)
必须在system.webServer/modules
部分配置IIS 7.5中的HTTP模块。只需在那里复制模块定义。
http://msdn.microsoft.com/en-us/library/aa347531(VS.90).aspx
请注意重复模块配置可能存在的问题。如果是这样,则关闭集成模式配置:
http://www.iis.net/ConfigReference/system.webServer/validation
答案 1 :(得分:0)
如果您正在使用.NET 2.0应用程序,则应在AppPool设置中启用“集成模式”。