Win7 / IIS 7 - 为什么新的Handler Mapping会消失?

时间:2009-09-30 22:35:50

标签: iis-7 mapping httphandler

我添加了一个处理程序映射到IIS7(在Win7上)。它运行得很好直到我将新版本发布到http://localhost。一旦我发布了新版本,我添加的所有映射都神奇地消失了!

[编辑]
我在发布期间也失去了所有的虚拟目录 [/编辑]

有关此的任何提示/技巧吗?

2 个答案:

答案 0 :(得分:1)

处理程序现在存储在应用程序的web.config中,而不是存储在元数据库中。因此,如果您复制出web.config的旧副本,则更改将丢失。

答案 1 :(得分:1)

查看web.config的system.webServer元素。我的一个看起来像:

  <system.webServer>
    <validation validateIntegratedModeConfiguration="false"/>
    <modules>
      <add name="ScriptModule" preCondition="integratedMode" type="System.Web.Handlers.ScriptModule, System.Web.Extensions, Version=3.5.0.0, Culture=neutral, PublicKeyToken=31BF3856AD364E35"/>
    </modules>
    <handlers>
      <remove name="WebServiceHandlerFactory-Integrated"/>
      <add name="ScriptHandlerFactory" verb="*" path="*.asmx" preCondition="integratedMode" type="System.Web.Script.Services.ScriptHandlerFactory, System.Web.Extensions, Version=3.5.0.0, Culture=neutral, PublicKeyToken=31BF3856AD364E35"/>
      <add name="ScriptHandlerFactoryAppServices" verb="*" path="*_AppService.axd" preCondition="integratedMode" type="System.Web.Script.Services.ScriptHandlerFactory, System.Web.Extensions, Version=3.5.0.0, Culture=neutral, PublicKeyToken=31BF3856AD364E35"/>
      <add name="ScriptResource" preCondition="integratedMode" verb="GET,HEAD" path="ScriptResource.axd" type="System.Web.Handlers.ScriptResourceHandler, System.Web.Extensions, Version=3.5.0.0, Culture=neutral, PublicKeyToken=31BF3856AD364E35"/>
    </handlers>
  </system.webServer>