ReceiveActivity.OperationValidation Événement

Définition

Se produit lors de la réception d’un message relatif à une opération nécessitant une validation.

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) 

Type d'événement

Exemples

L'exemple suivant illustre l'utilisation de l'événement OperationValidation.

[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;
}

Remarques

Il s'agit d'un gestionnaire d'événements facultatif qui se déclenche lorsque l'activité ReceiveActivity est sur le point de recevoir un message. Le gestionnaire associé peut être utilisé pour effectuer des vérifications de sécurité de type ClaimSet afin d'autoriser les clients à appeler l'opération de service implémentée par l'activité ReceiveActivity.

Si vous affectez la valeur OperationValidationEventArgs.IsValid à false dans le gestionnaire d'événements, l'appel de l'opération du service sera refusé et le client recevra un FaultException. Si OperationValidationEventArgs.IsValid a la valeur true, l'appel de l'opération du service aboutit et l'activité ReceiveActivity reçoit le message et le traite.

S’applique à