2011-05-17 46 views
4

我使用夜間的ReSharper的一個構建,最近我只是碰到它指出了這個消息「地點元素是unusued:路徑爲空」來給出下面的web.config代碼當路徑爲空時,web.config安全性的位置元素爲空「」,而不是「。」

<location path=""> 
    <system.web> 
     <authorization> 
     <allow roles="Administrator" /> 
     <deny users="*" /> 
     </authorization> 
    </system.web> 
    </location> 

我覺得這來自resharper的聲明是可疑的,因爲我已經使用了這樣的位置元素而沒有問題。

空白路徑只是默認爲".",因爲MSDN表示路徑屬性的默認值?

製作<location path=""><location path=".">在功能上是否相同?

+0

path =「」不應該拋出異常。我對resharper不熟悉,但是你是否在單獨的應用程序中嘗試了一些東西,看看它是否有效。 – gbs 2011-05-21 20:12:38

回答

1

這個錯誤肯定是Resharper過度熱心的另一個例子。 Microsoft建議在breaking changes for ASP.NET 4中使用空白路徑。

然而,根據MSDN

使用位置與缺少路徑屬性適用的配置設置到當前目錄及其所有子目錄。

所以你可能只是省略了防止Resharper錯誤的路徑屬性。

+0

當我接受一年前我問過的一個問題的答案時,總是一個好日子。 – 2012-04-05 15:29:53

2

僅當您不覆蓋它時,path的默認值爲".";這個,<location>在功能上等同於<location path="."> - 但<location path="">是不同的。一個空白路徑雖然不是假設得到使用;如果它被使用過,那很可能是一個錯誤,.net會處理空路徑。

+0

我真的想要一些驗證這個答案,特別是你最後一句是這個問題的整個目的。 – 2011-06-21 15:04:00

+0

我授予你作爲唯一試圖回答問題而不是允許它過期的人的賞金。但是目前我還無法接受這個答案,沒有任何支持信息。 – 2011-06-21 21:19:13

+0

謝謝。如果我擁有它,我會給你提供支持信息,但我不知道 - 這只是我對web.config工作原理的理解。 – configurator 2011-06-21 21:48:47

相關問題