Dấu hiệu
Một số loại kế thừa từ IDictionary bị chặn khỏi deserialization sau khi áp dụng các bản cập nhật bảo mật tháng 9 năm 2024 cho SharePoint Server. Khi sự cố này xảy ra, thông báo lỗi sau đây và thẻ sự kiện "4nsby" hoặc "4nss4" được ghi nhật ký trong nhật ký Hệ thống Ghi nhật ký Hợp nhất SharePoint (ULS):
Đã phát hiện loại IDictionary không được hỗ trợ. Loại: <loại>, Hội đồng: <hội>
Nguyên nhân
Sự cố này xảy ra vì loại không có trong danh sách cho phép deserializations.
Giải pháp
Nếu sự cố xảy ra trong quy trình w3wp.exe, người quản trị cụm máy chủ có thể khắc phục sự cố này bằng cách thêm các loại bị chặn vào danh sách tin cậy trong tệp Web.config, nhưng chỉ khi bạn chắc chắn rằng những loại này an toàn.
Để thực hiện điều này, hãy thêm một phần tử AllowedItem mới với tên AllowedIDictionaryType và chỉ định thuộc tính Type hoặc Assembly . Yếu tố này nên được thêm vào dưới phần cấu hình/SharePoint/SafeMode/AllowedListItems trong tệp Web.config này. Sau đây là một ví dụ:
<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>