在 SharePoint 2010 中解析宣告名稱時發生問題
在 SharePoint 2010 中解析宣告名稱時發生問題
我看見這個問題發生過幾次,所以現在我想試著分享,在你遇到並嘗試疑難排解時就知道怎麼做。我遇過無法執行名稱解析的狀況,例如當你在輸入控制項中輸入名稱然後按一下解析按鈕時。如果你開發自訂的宣告提供者,且提供者可正確執行工作,但結果你輸入的名稱下方仍有紅色線條,並且顯示找不到相符項目,那麼你甚至會想附加偵錯程式。這個問題更明顯的情況,即是你發現內建的提供者再也無法使用。例如,你可以在 [NT Authority/所有經過認證的使用者] 中輸入,但也無法解析。
原來問題在於部分提供者的 FillResolve 超載被呼叫時,會引發例外狀況。此處特別棘手的是 (可能你已從前文猜到),這表示一個錯誤的提供者可能會使你的伺服器陣列中的所有名稱解析工作失敗。因此,如果你遇到甚至連內建的提供者也無法解析名稱的狀況時,請開始尋找自訂的提供者。如果你尚未撰寫過提供者,你可能需要逐一移除它們以找出有問題的提供者。當然,這麼做也有其他隱憂,主要是如果你以不同的順序將它們加回,它們將不會產生之前所產生的相同基礎宣告 (因為部分宣告的依據是新增提供者的順序)。
但這裡的主題是當你有這個問題時要怎麼辦,以及如何擺脫這個問題。
重要結論/請閱讀
希望上述資訊已說明一件事,所有我「優秀的」自訂宣告提供者開發人員們,你們「不應」在提供者中引發例外狀況。一旦如此,錯誤的提供者將會導致伺服器陣列中的名稱解析無法執行。沒有人會想在電話那頭求助。
這是翻譯後的部落格文章。英文原文請參閱 Problems Resolving Claims Names in SharePoint 2010