Symptomen
Wanneer u een sandbox-oplossing of webonderdeel gebruikt, ontvangt u mogelijk de volgende foutberichten in SharePoint ULS-logboeken (Unified Logging System). Deze berichten geven aan dat sommige sandbox-oplossingen of webonderdelen zijn geblokkeerd.
Voor SharePoint Foundation 2013 en SharePoint Enterprise Server 2016 met de beveiligingsupdate van mei 2022 geïnstalleerd:
Gebeurtenis-id |
Bericht |
ajrme |
ExecuteRequestInSandBox-aanroep is mislukt. System.ArgumentException: Type kan niet worden omgezet bij Microsoft. SharePoint. UserCode.SPUserCodeExecutionManager.SPUserCodeSerializationBinder.BindToType(String assemblyName, String typeName) |
ajlz0 |
Foutbericht ontvangen voor Exception System.ArgumentException: Type is niet omgezet bij Microsoft. SharePoint. UserCode.SPUserCodeExecutionManager.SPUserCodeSerializationBinder.BindToType(String assemblyName, String typeName) |
Voor SharePoint Foundation 2013 met de beveiligingsupdate van juni 2022 of een latere beveiligingsupdate geïnstalleerd en voor SharePoint Enterprise Server 2016 met de beveiligingsupdate van juli 2022 of een latere beveiligingsupdate geïnstalleerd:
Gebeurtenis-id |
Bericht |
6k389 |
Ongeldig type: type=XXXXX; assembly=YYYYY, in SPUserCodeSerializationBinder. Ga naar https://go.microsoft.com/fwlink/?LinkId=2196531 voor meer informatie en voor meer informatie over het oplossen van deze fout. |
ajrme |
ExecuteRequestInSandBox-aanroep is mislukt. System.ArgumentException: Type kan niet worden omgezet bij Microsoft. SharePoint. UserCode.SPUserCodeExecutionManager.SPUserCodeSerializationBinder.BindToType(String assemblyName, String typeName) |
ajlz0 |
Foutbericht ontvangen voor Exception System.ArgumentException: Type is niet omgezet bij Microsoft. SharePoint. UserCode.SPUserCodeExecutionManager.SPUserCodeSerializationBinder.BindToType(String assemblyName, String typeName) |
Oorzaak
Vanaf de beveiligingsupdate van mei 2022 beperkt de SharePoint sandbox-service verder de typen en assembly's die standaard mogen worden uitgevoerd.
Oplossing
U kunt dit probleem oplossen door de typen of assembly's van derden te registreren die door de SharePoint sandbox-service kunnen worden uitgevoerd. Ga hiervoor als volgt te werk:
-
Installeer voor SharePoint Foundation 2013 de beveiligingsupdate van juni 2022 of een latere beveiligingsupdate. Installeer voor SharePoint Enterprise Server 2016 de beveiligingsupdate van juli 2022 of een latere beveiligingsupdate.
-
Gebruik de betrokken sandbox-oplossing of het webonderdeel om het probleem te activeren.
-
Open het SharePoint ULS-logboek en zoek naar de gebeurtenis-id '6K389'. U vindt het volgende bericht met die gebeurtenis-id:
Ongeldig type: type=XXXXX; assembly=YYYYY in SPUserCodeSerializationBinder. Ga naar https://go.microsoft.com/fwlink/?LinkId=2196531 voor meer informatie en voor meer informatie over het oplossen van deze fout.
-
Let op de typen en assembly's die worden geblokkeerd.
-
Open het web.config bestand van de webtoepassing waarin de sandbox-oplossingen of webonderdelen zich bevinden. Het pad van de web.config ziet er meestal als volgt uit:
C:\inetpub\wwwroot\wss\VirtualDirectories\<webtoepassingspoort> -
Voeg een AllowedListItems-element toe in de sectie configuratie/SharePoint/SafeMode.
-
Voeg in het element AllowedListItems een AllowedItem-element toe met het kenmerk Name ingesteld op AllowedSandboxType in de volgende indeling:
-
Als u specifieke typen wilt deblokkeren, voegt u als volgt elementen toe met de eigenschap Type :
<AllowedItem Name="AllowedSandboxType" Type="XXXXX"/> -
Als u specifieke assembly's wilt deblokkeren, voegt u als volgt elementen toe met de eigenschap Assembly :
<AllowedItem Name="AllowedSandboxType" Assembly="YYYYY"/>
Hier volgt een voorbeeld:
<SafeMode
MaxControls = "200"
CallStack = "false"
DirectFileDependencies ="10"
TotalFileDependencies = "250"
AllowPageLevelTrace = "false"
ControlCompatMode="false"
>
<PageParserPaths>
</PageParserPaths>
<AllowedListItems>
<AllowedItem Name="AllowedSandboxType" Type="Microsoft.SharePoint.Portal.WebControls.RSSAggregatorWebPart, Microsoft.SharePoint.Portal, Version=15.0.0.0, Culture=neutral, PublicKeyToken=xxxxxx"/>
<AllowedItem Name="AllowedSandboxType" Assembly="System.Web, Version=4.0.0.0, Culture=neutral, PublicKeyToken=xxxxxx"/>
</AllowedListItems>
</SafeMode>