OperationContractAttribute.ProtectionLevel Properti
Definisi
Penting
Beberapa informasi terkait produk prarilis yang dapat diubah secara signifikan sebelum dirilis. Microsoft tidak memberikan jaminan, tersirat maupun tersurat, sehubungan dengan informasi yang diberikan di sini.
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.