ReceiveActivity.OperationValidation Ereignis
Definition
Wichtig
Einige Informationen beziehen sich auf Vorabversionen, die vor dem Release ggf. grundlegend überarbeitet werden. Microsoft übernimmt hinsichtlich der hier bereitgestellten Informationen keine Gewährleistungen, seien sie ausdrücklich oder konkludent.
Tritt auf, wenn eine Nachricht für einen Vorgang empfangen wird und Validierung erforderlich ist.
public:
event EventHandler<System::Workflow::Activities::OperationValidationEventArgs ^> ^ OperationValidation;
public event EventHandler<System.Workflow.Activities.OperationValidationEventArgs> OperationValidation;
member this.OperationValidation : EventHandler<System.Workflow.Activities.OperationValidationEventArgs>
Public Custom Event OperationValidation As EventHandler(Of OperationValidationEventArgs)
Ereignistyp
Beispiele
Im folgenden Beispiel wird die Verwendung des OperationValidation
-Ereignisses veranschaulicht.
[System.Diagnostics.DebuggerNonUserCode]
private void InitializeComponent()
{
ReceiveActivity receiveActivity1 = new ReceiveActivity();
receiveActivity1.OperationValidation += new EventHandler<OperationValidationEventArgs>(receiveActivity1_OperationValidation);
}
void receiveActivity1_OperationValidation(object sender, OperationValidationEventArgs e)
{
OperationContext context = OperationContext.Current;
bool authorized = false;
foreach (ClaimSet claims in context.ServiceSecurityContext.AuthorizationContext.ClaimSets)
{
if (claims.ContainsClaim(AuthorizedClaim))
{
authorized = true;
}
}
e.IsValid = authorized;
}
Hinweise
Dies ist ein optionaler Ereignishandler, der ausgelöst wird, wenn die ReceiveActivity-Aktivität eine Nachricht empfangen soll. Der zugehörige Handler kann zum Ausführen ClaimSet-basierter Sicherheitsüberprüfungen verwendet werden, um den Clientaufruf des von der ReceiveActivity-Aktivität implementierten Dienstvorgangs zu autorisieren.
Wenn OperationValidationEventArgs.IsValid im Ereignishandler auf false
festgelegt wird, wird der Aufruf des Dienstvorgangs abgelehnt, und der Client empfängt eine FaultException. Wenn OperationValidationEventArgs.IsValid auf true
festgelegt wird, ist der Aufruf des Dienstvorgangs erfolgreich, und die ReceiveActivity-Aktivität empfängt und verarbeitet die Nachricht.