2011-08-22 73 views
1

我遇到這樣的代碼:清除節的Web.config影響?

<modules> 
     <remove name="ScriptModule"/> 
     <remove name="YafTaskModule"/> 
     <remove name="UrlRewriter"/> 

     <add name="ScriptModule" preCondition="managedHandler" type="System.Web.Handlers.ScriptModule, System.Web.Extensions, Version=3.5.0.0, Culture=neutral, PublicKeyToken=31BF3856AD364E35"/> 
     <add name="YafTaskModule" type="YAF.Core.YafTaskModule, YAF.Core" preCondition="managedHandler"/> 
     <add name="UrlRewriter" type="Intelligencia.UrlRewriter.RewriterHttpModule,Intelligencia.UrlRewriter" preCondition="managedHandler"/> 
    </modules> 

它有時會中斷,例如,如果你的父母的AppDomain沒有在它的UrlRewriter模塊,將引發一個錯誤。

有多麼不安全的使用方法:

<modules> 
     <clear/> 

     <add name="ScriptModule" preCondition="managedHandler" type="System.Web.Handlers.ScriptModule, System.Web.Extensions, Version=3.5.0.0, Culture=neutral, PublicKeyToken=31BF3856AD364E35"/> 
     <add name="YafTaskModule" type="YAF.Core.YafTaskModule, YAF.Core" preCondition="managedHandler"/> 
     <add name="UrlRewriter" type="Intelligencia.UrlRewriter.RewriterHttpModule,Intelligencia.UrlRewriter" preCondition="managedHandler"/> 
    </modules> 

同樣的情況,在<httpModules>和其他幾個標籤

回答

2

<clear />的主要問題是,它會清除所有配置的元素從所有祖先的配置文件,作爲父文件夾,機器級別web.config和machine.config。因此,在<httpModules>的情況下,清除將取出所有重要的ASP.NET模塊,如身份驗證,會話狀態管理,輸出緩存等。如果您的應用程序依賴於其中某些模塊,則它將無法工作。

所以解決方案是,您必須在清除實際上是問題的正確解決方案的部分之後專門添加這些模塊。缺點是你的配置文件可能會變得有點冗長。

相關問題