Simptome
Unele tipuri care moștenesc de la IDictionary sunt blocate de la deserializare după aplicarea actualizărilor de securitate din septembrie 2024 pentru SharePoint Server. Atunci când apare această problemă, următorul mesaj de eroare și etichetele de eveniment "4nsby" sau "4nss4" sunt înregistrate în jurnalele SharePoint Unified Logging System (ULS):
S-a detectat un tip IDictionary neacceptat. Tip:> tip <, asamblare: asamblare <>
Cauza
Această problemă apare deoarece tipul nu este în lista de deserializări permise.
Soluție de evitare
Dacă problema apare în procesul de w3wp.exe, administratorul fermei poate rezolva această problemă adăugând tipurile blocate la lista de încredere din fișierul Web.config, dar numai dacă sunteți sigur că aceste tipuri sunt sigure.
Pentru a face acest lucru, adăugați un nou element AllowedItem cu numele AllowedIDictionaryType și specificați o proprietate Type sau Assembly . Acest element trebuie adăugat sub secțiunea configuration/SharePoint/SafeMode/AllowedListItems din fișierul Web.config. Următorul este un exemplu:
<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>