Симптоми
Когато използвате решение за ограничителен режим или уеб част, може да получите съобщения за грешка, подобни на следното, в регистрационните файлове на SharePoint единна система за регистриране (ULS). Тези съобщения показват, че някои решения за ограничителен режим или уеб части са блокирани.
За SharePoint Foundation 2013 и SharePoint Enterprise Server 2016 с инсталирана актуализация на защитата от май 2022 г.:
ИД на събитие |
Съобщение |
ajrme |
Неуспешно повикване executeRequestInSandBox. System.ArgumentException: Типът не може да се разреши в Microsoft. SharePoint е. UserCode.SPUserCodeExecutionManager.SPUserCodeSerializationBinder.BindToType(Име на блок с низ, Име на низ) |
Шляецова лоза |
Получаване на съобщение за грешка за exception System.ArgumentException: Типът не може да се разреши в Microsoft. SharePoint е. UserCode.SPUserCodeExecutionManager.SPUserCodeSerializationBinder.BindToType(Име на блок с низ, Име на низ) |
За SharePoint Foundation 2013 с инсталирана актуализация на защитата от юни 2022 г. или по-нова актуализация на защитата и за SharePoint Enterprise Server 2016 с инсталирана актуализация на защитата от юли 2022 г. или по-нова актуализация на защитата:
ИД на събитие |
Съобщение |
6k389 |
Невалиден тип: type=XXXXX; assembly=YYYYY, в SPUserCodeSerializationBinder. Посетете https://go.microsoft.com/fwlink/?LinkId=2196531 за повече информация и за да научите как да отстраните тази грешка. |
ajrme |
Неуспешно повикване executeRequestInSandBox. System.ArgumentException: Типът не може да се разреши в Microsoft. SharePoint е. UserCode.SPUserCodeExecutionManager.SPUserCodeSerializationBinder.BindToType(Име на блок с низ, Име на низ) |
Шляецова лоза |
Получаване на съобщение за грешка за exception System.ArgumentException: Типът не може да се разреши в Microsoft. SharePoint е. UserCode.SPUserCodeExecutionManager.SPUserCodeSerializationBinder.BindToType(Име на блок с низ, Име на низ) |
Причина
Започвайки с актуализацията на защитата от май 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\<порт на уеб приложението> -
Добавяне на елемент AllowedListItems в секцията configuration/SharePoint/SafeMode.
-
В елемента AllowedListItems добавете елемент AllowedItem с атрибут Name , зададен на AllowedSandboxType в следния формат:
-
За да деблокирате определени типове, добавете елементи със свойството Type по следния начин:
<AllowedItem Name="AllowedSandboxType" Type="XXXXX"/> -
За да деблокирате определени блокове с код, добавете елементи със свойството Assembly по следния начин:
<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>