Sintomas
Alguns tipos que herdam do IDictionary são bloqueados da desserialização após a aplicação de atualizações de segurança de setembro de 2024 para o SharePoint Server. Quando este problema ocorre, a seguinte mensagem de erro e as etiquetas de evento "4nsby" ou "4nss4" são registadas nos registos uls (Unified Logging System) do SharePoint:
Foi detetado um tipo IDictionary não suportado. Tipo: <Tipo>, Assemblagem: <Assemblagem>
Causa
Este problema ocorre porque o tipo não está na lista de permissões de desseriais.
Solução
Se o problema ocorrer no processo de w3wp.exe, o administrador do farm pode resolver este problema ao adicionar os tipos bloqueados à lista fidedigna no ficheiro Web.config, mas apenas se tiver a certeza de que estes tipos são seguros.
Para tal, adicione um novo elemento AllowedItem com o nome AllowedIDictionaryType e especifique uma propriedade Tipo ou Assemblagem . Este elemento deve ser adicionado na secção configuration/SharePoint/SafeMode/AllowedListItems no ficheiro Web.config. Segue-se um exemplo:
<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>