徵兆
在套用 SharePoint Server 的 2024 年 9 月安全性更新之後,部分繼承自 IDictionary 的類型遭到封鎖而無法還原序列化。 發生此問題時,下列錯誤訊息和「4nsby」或「4nss4」事件標籤會記錄在 SharePoint Unified Logging System (ULS) 記錄檔中:
偵測到不支援的 IDictionary 類型。 類型: <Type>,組件: <Assembly>
原因
發生此問題是因為此類型不在還原序列化的允許清單中。
因應措施
如果問題在 w3wp.exe 程序中發生,陣列系統管理員可以透過在 Web.config 檔案中的信任清單中新增封鎖類型來解決此問題,但您必須確定這些類型是安全的。
若要這麼做,請新增名稱 AllowedIDictionaryType 的新 AllowedItem 元素,並指定 類型 或 組件 屬性。 應將此元素新增於 Web.config 檔案中的 configuration/SharePoint/SafeMode/AllowedListItems 區段底下。 下列是範例:
<SafeMode
MaxControls = "200"
CallStack = "false"
DirectFileDependencies ="10"
TotalFileDependencies = "250"
AllowPageLevelTrace = "false"
ControlCompatMode="false"
>
<PageParserPaths>
</PageParserPaths>
<AllowedListItems>
<AllowedItem Name="AllowedIDictionaryType" Type="Microsoft.SharePoint.Portal.WebControls.RSSAggregatorWebPart, Microsoft.SharePoint.Portal, Version=15.0.0.0, Culture=neutral, PublicKeyToken=xxxxxx"/>
<AllowedItem Name="AllowedIDictionaryType" Assembly="System.Web, Version=4.0.0.0, Culture=neutral, PublicKeyToken=xxxxxx"/>
</AllowedListItems>
</SafeMode>