Bagikan melalui


FaultContractAttribute.ProtectionLevel Properti

Definisi

Menentukan tingkat perlindungan yang diperlukan kesalahan SOAP dari pengikatan.

public:
 property System::Net::Security::ProtectionLevel ProtectionLevel { System::Net::Security::ProtectionLevel get(); void set(System::Net::Security::ProtectionLevel value); };
public System.Net.Security.ProtectionLevel ProtectionLevel { get; set; }
member this.ProtectionLevel : System.Net.Security.ProtectionLevel with get, set
Public Property ProtectionLevel As ProtectionLevel

Nilai Properti

Salah ProtectionLevel satu nilai. Defaultnya adalah None.

Keterangan

FaultDescription.ProtectionLevel Gunakan properti untuk menentukan tingkat pengikatan harus mengenkripsi, menandatangani, atau keduanya saat mengirim kesalahan SOAP. Sangat disarankan agar kesalahan operasi secara eksplisit memutuskan persyaratan tingkat perlindungan keamanan pada kontrak. Tingkat perlindungan default adalah ProtectionLevel.None, yang berarti bahwa pesan kesalahan SOAP yang Anda tentukan tidak memerlukan enkripsi atau tanda tangan digital (meskipun pengikatan Anda dapat memberikan dukungan ini jika dikonfigurasi untuk melakukannya). Jika pesan kesalahan membawa informasi yang sensitif atau dapat menyebabkan masalah keamanan, sangat disarankan agar ProtectionLevel properti diatur ke ProtectionLevel.EncryptAndSign. Untuk informasi selengkapnya tentang masalah keamanan, lihat Memahami Tingkat Perlindungan.

Perilaku perlindungan saat runtime adalah kombinasi properti tingkat perlindungan yang memiliki struktur hierarkis. Mengatur nilai terluar menetapkan pengaturan default untuk semua cakupan yang lebih sempit kecuali nilai yang berbeda untuk cakupan yang lebih sempit diatur secara eksplisit. Dalam hal ini, nilai luar tetap default untuk semua cakupan yang lebih sempit dengan pengecualian yang secara khusus ditetapkan.

Misalnya, jika ServiceContractAttribute.ProtectionLevel diatur ke ProtectionLevel.EncryptAndSign dan tidak ada cakupan sempit lainnya yang memiliki pengaturan tingkat perlindungan, semua pesan dalam kontrak operasi dienkripsi dan ditandatangani, termasuk pesan kesalahan. Namun, jika salah satu operasi tersebut OperationContractAttribute telah diatur ke ProtectionLevel.Sign, maka pesan untuk operasi tersebut ditandatangani tetapi semua pesan lain dalam kontrak dienkripsi dan ditandatangani, termasuk pesan kesalahan.

Cakupan di mana nilai-nilai ini diatur adalah:

ServiceContractAttribute.ProtectionLevel

OperationContractAttribute.ProtectionLevel

FaultContractAttribute.ProtectionLevel

MessageContractAttribute.ProtectionLevel

Properti MessageContractMemberAttribute.ProtectionLevel pada System.ServiceModel.MessageHeaderAttribute.

Properti MessageContractMemberAttribute.ProtectionLevel pada System.ServiceModel.MessageBodyMemberAttribute.

Ketika tidak ada tingkat perlindungan yang secara eksplisit ditentukan pada kontrak dan pengikatan yang mendasar mendukung keamanan (baik di tingkat transportasi atau pesan), tingkat perlindungan efektif untuk seluruh kontrak adalah ProtectionLevel.EncryptAndSign. Jika pengikatan tidak mendukung keamanan (seperti BasicHttpBinding), efektivitasnya System.Net.Security.ProtectionLevel adalah ProtectionLevel.None untuk seluruh kontrak. Hasilnya adalah bahwa tergantung pada pengikatan titik akhir, klien dapat memerlukan pesan atau perlindungan keamanan tingkat transportasi yang berbeda bahkan ketika kontrak menentukan ProtectionLevel.None.

Berlaku untuk