Bagikan melalui


OperationContractAttribute.ProtectionLevel Properti

Definisi

Mendapatkan atau menetapkan nilai yang menentukan apakah pesan operasi harus dienkripsi, ditandatangani, atau keduanya.

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.

Pengecualian

Nilai bukan salah ProtectionLevel satu nilai.

Keterangan

ProtectionLevel Gunakan properti untuk mengontrol apakah pesan operasi harus dienkripsi, ditandatangani, atau keduanya. Nilai yang ditetapkan di sini adalah nilai default untuk semua pesan yang ditentukan untuk operasi ini kecuali cakupan yang lebih sempit mengesampingkan nilai ini.

Penting untuk diingat bahwa perilaku perlindungan pada runtime adalah kombinasi dari nilai tingkat perlindungan yang ditetapkan pada properti berikut. Properti ini 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. Namun, jika salah satu operasi tersebut ProtectionLevel telah diatur ke ProtectionLevel.Sign, maka pesan untuk operasi tersebut ditandatangani tetapi semua pesan lain dalam kontrak dienkripsi dan ditandatangani.

Untuk detail tentang tingkat perlindungan dan asumsi dan cakupannya, lihat Memahami Tingkat Perlindungan.

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