Triệu chứng
Khi bạn sử dụng giải pháp hộp cát hoặc phần web, bạn có thể nhận được thông báo lỗi giống như sau trong nhật ký SharePoint hệ thống ghi nhật ký hợp nhất (ULS). Những thông báo này cho biết một số giải pháp hộp cát hoặc phần web bị chặn.
Ví SharePoint Foundation 2013 và SharePoint Enterprise Server 2016 đã cài đặt bản cập nhật bảo mật tháng 5 năm 2022:
ID Sự kiện |
Thư |
ajrme |
ExecuteRequestInSandBox call failed. System.ArgumentException: Loại không được giải quyết tại Microsoft. SharePoint. UserCode.SPUserCodeExecutionManager.SPUserCodeSerializationBinder.BindToType(String assemblyName, String typeName) |
ajlz0 |
Nhận thông báo Lỗi cho Exception System.ArgumentException: Loại không thể giải quyết tại Microsoft. SharePoint. UserCode.SPUserCodeExecutionManager.SPUserCodeSerializationBinder.BindToType(String assemblyName, String typeName) |
Đối với SharePoint Foundation 2013 có cài đặt bản cập nhật bảo mật tháng 6 năm 2022 hoặc bản cập nhật bảo mật mới hơn và cho SharePoint Enterprise Server 2016 có cài đặt bản cập nhật bảo mật tháng 7 năm 2022 hoặc bản cập nhật bảo mật mới hơn:
ID Sự kiện |
Thư |
6k389 |
Loại không hợp lệ: type=XXXXX; assembly=YYYYY, trong SPUserCodeSerializationBinder. Hãy truy https://go.microsoft.com/fwlink/?LinkId=2196531 để biết thêm thông tin và tìm hiểu cách giải quyết lỗi này. |
ajrme |
ExecuteRequestInSandBox call failed. System.ArgumentException: Loại không được giải quyết tại Microsoft. SharePoint. UserCode.SPUserCodeExecutionManager.SPUserCodeSerializationBinder.BindToType(String assemblyName, String typeName) |
ajlz0 |
Nhận thông báo Lỗi cho Exception System.ArgumentException: Loại không thể giải quyết tại Microsoft. SharePoint. UserCode.SPUserCodeExecutionManager.SPUserCodeSerializationBinder.BindToType(String assemblyName, String typeName) |
Nguyên nhân
Bắt đầu từ bản cập nhật bảo mật tháng 5 năm 2022, dịch vụ hộp cát SharePoint hạn chế hơn nữa các loại và hội đồng mà dịch vụ này cho phép chạy theo mặc định.
Giải pháp
Để khắc phục sự cố này, bạn phải đăng ký các loại hoặc tập hợp của bên thứ ba mà dịch vụ hộp cát SharePoint sẽ cho phép chạy. Để thực hiện việc này, hãy làm theo các bước sau:
-
Đối với SharePoint Foundation 2013, hãy cài đặt bản cập nhật bảo mật Tháng Sáu 2022 hoặc bản cập nhật bảo mật mới hơn. Đối với SharePoint Enterprise Server 2016, hãy cài đặt bản cập nhật bảo mật tháng 7 năm 2022 hoặc bản cập nhật bảo mật mới hơn.
-
Sử dụng giải pháp hộp cát hoặc phần web bị ảnh hưởng để kích hoạt sự cố.
-
Mở nhật SharePoint ULS và tìm ID sự kiện "6K389". Bạn sẽ tìm thấy thông báo sau với ID sự kiện đó:
Loại không hợp lệ: type=XXXXX; assembly=YYYYY trong SPUserCodeSerializationBinder. Hãy truy https://go.microsoft.com/fwlink/?LinkId=2196531 để biết thêm thông tin và tìm hiểu cách giải quyết lỗi này.
-
Lưu ý các loại và hội đồng bị chặn.
-
Mở tệp web.config web của ứng dụng web có chứa Sandbox Solutions hoặc phần web. Đường dẫn của đường dẫn web.config thường trông giống như sau:
C:\inetpub\wwwroot\wss\VirtualDirectories\<web application port> -
Thêm yếu tố AllowedListItems vào phần cấu hình/SharePoint/SafeMode.
-
Bên trong thành phần AllowedListItems , hãy thêm thành phần AllowedItem có thuộc tính Name được đặt thành AllowedSandboxType ở định dạng sau đây:
-
Để bỏ chặn các loại cụ thể, hãy thêm thành phần với thuộc tính Type như sau:
<AllowedItem Name="AllowedSandboxType" Type="XXXXX"/> -
Để bỏ chặn các cụm máy chủ cụ thể, hãy thêm các thành phần với thuộc tính Assembly như sau:
<AllowedItem Name="AllowedSandboxType" Assembly="YYYYY"/>
Sau đây là một ví dụ:
<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>