Symptômes
Certains types qui héritent d’IDictionary ne peuvent pas être désérialisés après l’application des mises à jour de sécurité de septembre 2024 pour SharePoint Server. Lorsque ce problème se produit, le message d'erreur suivant et les balises d'événement « 4nsby » ou « 4nss4 » sont enregistrés dans les journaux du système de journalisation unifiée SharePoint (ULS) :
Un type IDictionary non pris en charge a été détecté. Type : <Type>, Assemblage : <Assemblage>
Cause
Ce problème se produit car le type ne figure pas dans la liste autorisée des désérialisations.
Solution de contournement
Si le problème se produit dans le processus w3wp.exe, l'administrateur de la batterie peut contourner ce problème en ajoutant les types bloqués à la liste de confiance dans le fichier Web.config, mais uniquement si vous êtes sûr que ces types sont sûrs.
Pour ce faire, ajoutez un nouvel élément AllowedItem avec le nom AllowedIDictionaryType et spécifiez une propriété Type ou Assembly. Cet élément doit être ajouté sous la section configuration/SharePoint/SafeMode/AllowedListItems dans le fichier Web.config. Voici un exemple :
<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>