OperationContractAttribute.ProtectionLevel Eigenschap

Definitie

Hiermee wordt een waarde opgehaald of ingesteld waarmee wordt aangegeven of de berichten van een bewerking moeten worden versleuteld, ondertekend of beide.

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

Waarde van eigenschap

Een van de ProtectionLevel waarden. De standaardwaarde is None.

Uitzonderingen

De waarde is geen van de ProtectionLevel waarden.

Opmerkingen

Gebruik de ProtectionLevel eigenschap om te bepalen of de berichten van een bewerking moeten worden versleuteld, ondertekend of beide. De waarde die hier is ingesteld, is de standaardwaarde voor alle berichten die voor deze bewerking zijn opgegeven, tenzij een smaller bereik deze waarde overschrijft.

Het is belangrijk te onthouden dat het beveiligingsgedrag tijdens runtime de combinatie is van de waarden op beveiligingsniveau die zijn ingesteld op de volgende eigenschappen. Deze eigenschappen hebben een hiƫrarchische structuur. Als u de buitenste waarde instelt, wordt de standaardinstelling voor alle smallere bereiken ingesteld, tenzij een andere waarde voor een smaller bereik expliciet is ingesteld. In dit geval blijft de buitenste waarde de standaardwaarde voor alle smallere bereiken, met uitzondering van die specifieke set.

Als bijvoorbeeld ServiceContractAttribute.ProtectionLevel is ingesteld op ProtectionLevel.EncryptAndSign en er geen andere smallere bereiken beveiligingsniveauinstellingen hebben, worden alle berichten in een bewerkingscontract versleuteld en ondertekend. Als een van deze bewerkingen echter is ProtectionLevel ingesteld ProtectionLevel.Signop , worden de berichten voor die bewerking ondertekend, maar alle andere berichten in het contract versleuteld en ondertekend.

Zie Understanding Protection Level voor meer informatie over beveiligingsniveaus en hun veronderstellingen en bereiken.

De bereiken waarvoor deze waarden zijn ingesteld, zijn:

ServiceContractAttribute.ProtectionLevel

OperationContractAttribute.ProtectionLevel

FaultContractAttribute.ProtectionLevel

MessageContractAttribute.ProtectionLevel

De MessageContractMemberAttribute.ProtectionLevel eigenschap op System.ServiceModel.MessageHeaderAttribute.

De MessageContractMemberAttribute.ProtectionLevel eigenschap op System.ServiceModel.MessageBodyMemberAttribute.

Wanneer er geen beveiligingsniveau expliciet op het contract is opgegeven en de onderliggende binding beveiliging ondersteunt (ongeacht of het transport- of berichtniveau is), is ProtectionLevel.EncryptAndSignhet effectieve beveiligingsniveau voor het hele contract . Als de binding geen ondersteuning biedt voor beveiliging (zoalsBasicHttpBinding), is ProtectionLevel.None de effectieve System.Net.Security.ProtectionLevel waarde voor het hele contract. Het resultaat is dat clients, afhankelijk van de eindpuntbinding, verschillende beveiliging op bericht- of transportniveau kunnen vereisen, zelfs wanneer het contract aangeeft ProtectionLevel.None.

Van toepassing op