-2
我的web.config中有一個appSetting值,它包含一個Active Directory組名。即「Mydomain \ MyAdmin_Group」代碼中的字符串與來自ConfigurationManager.AppSettings的字符串在IsInRole中的行爲有所不同
我的代碼檢查用戶是否在指定的組中,但返回false。
User.IsInRole(ConfigurationManager.AppSettings["AdminGroup"].ToString())
如果我使用下面的代碼返回true。
User.IsInRole("MyDomain\\MyAdmin_Group")
我在我的web.config appSetting是:
<add key="AdminGroup" value="MyDomain\\MyAdmin_Group"/>
爲什麼出現 「硬編碼」 呼叫工作,但使用ConfigurationManager中的版本不行?
做一個運行時測試並確認'ConfigurationManager.AppSettings [「AdminGroup」]。ToString()==「MyDomain \\ MyAdmin_Group」'。 –
使用斷點和調試器進行快速檢查對於查找類似問題非常有用。直到代碼執行一些意想不到的事情,並檢查所有相關變量。將它們與已知的好值進行比較。編譯器沒有被破壞,總是有一個原因。 – asawyer