Симптоми
Когато използвате решение в ограничителен режим или уеб част, може да получите съобщенията за грешка, подобни на следните в регистрационните файлове на единната система за регистриране (ULS) на SharePoint. Тези съобщения указват, че някои решения или уеб части за ограничителен режим са блокирани.
За SharePoint Foundation 2013 и SharePoint Enterprise Server 2016 с инсталирана актуализация на защитата от май 2022 г.:
| ИД на събитие | Съобщение |
|---|---|
| ajrme |
Забележка: Неуспешно повикване на ExecuteRequestInSandBox. System.ArgumentException: Типът не беше разрешен в Microsoft.SharePoint.UserCode.SPUserCodeExecutionManager.SPUserCodeSerializationBinder.BindToType(String assemblyName, String typeName) at …... |
| ajlz0 |
Забележка: Получаване на съобщение за грешка за изключение System.ArgumentException: Типът не е разрешим в Microsoft.SharePoint.UserCode.SPUserCodeExecutionManager.SPUserCodeSerializationBinder.BindToType(String assemblyName, String typeName) at …... |
За SharePoint Foundation 2013 с актуализация на защитата от юни 2022 г. или по-нова инсталирана актуализация на защитата и за SharePoint Enterprise Server 2016 с актуализация на защитата от юли 2022 г. или по-нова инсталирана актуализация на защитата:
| ИД на събитие | Съобщение |
|---|---|
| 6к389 | Забележка: Невалиден тип: type=XXXXX; assembly=YYYYY, в SPUserCodeSerializationBinder. Посетете https://go.microsoft.com/fwlink/?LinkId=2196531 за повече информация и за да научите как да отстраните тази грешка. |
| ajrme |
Забележка: Неуспешно повикване на ExecuteRequestInSandBox. System.ArgumentException: Типът не беше разрешен в Microsoft.SharePoint.UserCode.SPUserCodeExecutionManager.SPUserCodeSerializationBinder.BindToType(String assemblyName, String typeName) at …... |
| ajlz0 |
Забележка: Получаване на съобщение за грешка за изключение System.ArgumentException: Типът не е разрешим в Microsoft.SharePoint.UserCode.SPUserCodeExecutionManager.SPUserCodeSerializationBinder.BindToType(String assemblyName, String typeName) at …... |
Причина
Започвайки с актуализацията на защитата от май 2022 г., услугата за ограничителен режим на SharePoint допълнително ограничава типовете и сборовете, които позволява да се изпълняват по подразбиране.
Решение
За да коригирате този проблем, трябва да регистрирате типовете или възлите на други доставчици, които услугата за ограничителен режим на SharePoint ще позволи да се изпълняват. За да направите това, изпълнете следните стъпки:
За SharePoint Foundation 2013 инсталирайте актуализацията на защитата от юни 2022 г. или по-нова актуализация на защитата. За SharePoint Enterprise Server 2016 инсталирайте актуализацията на защитата от юли 2022 г. или по-нова актуализация на защитата.
Използвайте засегнатото решение или уеб част, за да задействате проблема.
Отворете регистрационния файл на SharePoint ULS и потърсете ИД на събитието "6K389". Ще намерите следното съобщение с този ИД на събитие:
Забележка
Невалиден тип: type=XXXXX; assembly=YYYYY в SPUserCodeSerializationBinder. Посетете https://go.microsoft.com/fwlink/?LinkId=2196531 за повече информация и за да научите как да отстраните тази грешка.
Обърнете внимание на типовете и наборите, които са блокирани.
Отворете web.config файла на уеб приложението, където се намират решенията или уеб частите за ограничителен режим. Пътят на web.config обикновено изглежда по следния начин:
C:\inetpub\wwwroot\wss\VirtualDirectories\<web application port>
Добавете елемент AllowedListItems в секцията configuration/SharePoint/SafeMode.
В елемента AllowedListItems добавете елемент AllowedItem с атрибут Name , зададен на AllowedSandboxType в следния формат:
За да разблокирате определени типове, добавете елементи със свойството Type по следния начин:
<AllowedItem Name="AllowedSandboxType" Type="XXXXX"/>
За да разблокирате определени набори, добавете елементи със свойството " Блок с блок" по следния начин:
<AllowedItem Name="AllowedSandboxType" Assembly="YYYYY"/>
Следното е пример:
<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>