Freigeben über


ReceiveActivity.OperationValidation Ereignis

Definition

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.

Gilt für: