2012-01-13 61 views
2

我剛剛在MVC3中使用首先部署在Windows Azure上的EF4代碼創建了一個新項目。 我想保持我的「web.config」文件儘可能乾淨,因爲理解它包含的所有標記有點複雜。如何僅使用<system.webServer>爲新的MVC3/Azure項目保留乾淨的ASP.NET 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>?

回答

2

不所有的元素都被棄用了。最重要的兩個部分是/system.web/httpHandlers,它已移至/system.webServer/handlers和/system.web/httpModules,現在是/system.webServer/modules。您不需要進一步觸摸上述配置,因爲即使在IIS7中,其中的元素仍然是system.web元素的一部分。您是否嘗試過在更改後運行您的網站?

+0

謝謝,我的網站按預期工作,直到我不刪除上面剩餘的代碼在system.web(即我想轉換),如果相反,我完全刪除上述,不認證(自定義)導致必要的第一行。我認爲system.webServer的安全標籤中有一些,但需要更多的調查 – 2012-01-13 18:50:03

+0

您不需要轉換剩下的內容。它在IIS7中沒有改變。 – Andreas 2012-01-14 19:15:15

相關問題