Gejala
Saat Anda menggunakan solusi kotak pasir atau komponen web, Anda mungkin menerima pesan kesalahan yang menyerupai berikut ini di SharePoint log Unified Logging System (ULS). Pesan ini menunjukkan beberapa solusi kotak pasir atau komponen web diblokir.
Untuk SharePoint Foundation 2013 dan SharePoint Enterprise Server 2016 dengan pembaruan keamanan Mei 2022 diinstal:
ID Kejadian |
Pesan |
ajrme |
Panggilan ExecuteRequestInSandBox gagal. System.ArgumentException: Type tidak dapat dipelajari di Microsoft. SharePoint. UserCode.SPUserCodeExecutionManager.SPUserCodeSerializationBinder.BindToType(String assemblyName, String typeName) |
ajlz0 |
Mendapatkan Pesan Kesalahan untuk Exception System.ArgumentException: Type tidak dapat dijual kembali di Microsoft. SharePoint. UserCode.SPUserCodeExecutionManager.SPUserCodeSerializationBinder.BindToType(String assemblyName, String typeName) |
Untuk SharePoint Foundation 2013 dengan pembaruan keamanan Juni 2022 atau pembaruan keamanan yang lebih baru diinstal dan untuk SharePoint Enterprise Server 2016 dengan pembaruan keamanan Juli 2022 atau pembaruan keamanan yang lebih baru diinstal:
ID Kejadian |
Pesan |
6k389 |
Tipe tidak valid: type=XXXXX; assembly=YYYYY, dalam SPUserCodeSerializationBinder. Kunjungi https://go.microsoft.com/fwlink/?LinkId=2196531 untuk informasi selengkapnya dan untuk mempelajari cara mengatasi kesalahan ini. |
ajrme |
Panggilan ExecuteRequestInSandBox gagal. System.ArgumentException: Type tidak dapat dipelajari di Microsoft. SharePoint. UserCode.SPUserCodeExecutionManager.SPUserCodeSerializationBinder.BindToType(String assemblyName, String typeName) |
ajlz0 |
Mendapatkan Pesan Kesalahan untuk Exception System.ArgumentException: Type tidak dapat dijual kembali di Microsoft. SharePoint. UserCode.SPUserCodeExecutionManager.SPUserCodeSerializationBinder.BindToType(String assemblyName, String typeName) |
Penyebab
Dimulai dengan pembaruan keamanan Mei 2022, layanan kotak pasir SharePoint lebih lanjut membatasi tipe dan perakitan yang diperbolehkan untuk dijalankan secara default.
Pemecahan Masalah
Untuk memperbaiki masalah ini, Anda harus mendaftarkan jenis atau perakitan pihak ketiga yang akan diperbolehkan untuk dijalankan oleh layanan SharePoint sandbox. Untuk melakukannya, ikuti langkah-langkah berikut:
-
Untuk SharePoint Foundation 2013, instal pembaruan keamanan Juni 2022 atau pembaruan keamanan yang lebih baru. Untuk SharePoint Enterprise Server 2016, instal pembaruan keamanan Juli 2022 atau pembaruan keamanan yang lebih baru.
-
Gunakan solusi kotak pasir atau komponen web yang terpengaruh untuk memicu masalah.
-
Buka log ULS SharePoint dan cari ID kejadian "6K389". Anda akan menemukan pesan berikut dengan ID kejadian tersebut:
Tipe tidak valid: type=XXXXX; assembly=YYYYY dalam SPUserCodeSerializationBinder. Kunjungi https://go.microsoft.com/fwlink/?LinkId=2196531 untuk informasi selengkapnya dan untuk mempelajari cara mengatasi kesalahan ini.
-
Perhatikan tipe dan perakitan yang diblokir.
-
Buka file web.config aplikasi web tempat Solusi Sandbox atau webpart berada. Jalur web.config biasanya terlihat seperti berikut ini:
C:\inetpub\wwwroot\wss\VirtualDirectories\<port aplikasi web> -
Tambahkan elemen AllowedListItems di bagian konfigurasi/SharePoint/SafeMode.
-
Di dalam elemen AllowedListItems , tambahkan elemen AllowedItem dengan atribut Name diatur ke AllowedSandboxType dalam format berikut:
-
Untuk membuka blokir tipe tertentu, tambahkan elemen dengan properti Tipe sebagai berikut:
<AllowedItem Name="AllowedSandboxType" Type="XXXXX"/> -
Untuk membuka blokir majelis tertentu, tambahkan elemen dengan properti Perakitan sebagai berikut:
<AllowedItem Name="AllowedSandboxType" Assembly="YYYYY"/>
Berikut ini adalah contohnya:
<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>