2

我刚刚使用首先部署在 Windows Azure 上的 EF4 代码在 MVC3 中创建了一个新项目。我想保持我的“web.config”文件尽可能干净,因为理解它包含的所有标签有点复杂。

我注意到两个部分:<system.web><system.webServer>

第一个用于 IIS6,第二个用于 IIS7+ 我不需要向后兼容,所以想删除第一个。

我将第一部分的很大一部分转换为第二部分,但我找不到如何转换这些部分:

<system.web>
  <authentication mode="None" />
  <compilation debug="true" targetFramework="4.0">
    <assemblies>
      <add assembly="System.Web.Helpers, Version=2.0.0.0, Culture=neutral />
      <add assembly="System.Web.Mvc, Version=4.0.0.0, Culture=neutral />
      <add assembly="System.Web.WebPages, Version=2.0.0.0, Culture=neutral />
      <add assembly="Microsoft.IdentityModel, Version=3.5.0.0, Culture=neutral />
    </assemblies>
  </compilation>
  <pages validateRequest="false">
    <namespaces>
      <add namespace="System.Web.Helpers" />
      <add namespace="System.Web.Mvc" />
      <add namespace="System.Web.Mvc.Ajax" />
      <add namespace="System.Web.Mvc.Html" />
      <add namespace="System.Web.Routing" />
      <add namespace="System.Web.WebPages" />
    </namespaces>
  </pages>
</system.web>

如何执行此操作以便我可以删除已弃用的<system.web>?

4

1 回答 1

2

并非所有元素都已弃用。两个最重要的部分是 /system.web/httpHandlers 已移动到 /system.webServer/handlers 和 /system.web/httpModules 现在是 /system.webServer/modules。您不需要进一步触及上述配置,因为即使在 IIS7 中,其中的元素仍然是 system.web 元素的一部分。您是否尝试在更改后运行您的网站?

于 2012-01-13T07:28:59.247 回答