ReceiveActivity.OperationValidation Evento

Definizione

Si verifica quando viene ricevuto un messaggio per un'operazione ed è richiesta la convalida.

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) 

Tipo evento

Esempio

Nell'esempio seguente viene illustrato come utilizzare l'evento 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;
}

Commenti

Si tratta di un gestore eventi facoltativo generato quando l'attività di ReceiveActivity sta per ricevere un messaggio. È possibile utilizzare il gestore associato per eseguire i controlli di sicurezza basati su ClaimSet per autorizzare la chiamata del client dell'operazione del servizio implementata dall'attività di ReceiveActivity.

L'impostazione di OperationValidationEventArgs.IsValid su false nel gestore eventi rifiuta la chiamata all'operazione del servizio e il client riceve FaultException. Se OperationValidationEventArgs.IsValid è impostata su true, la chiamata all'operazione del servizio ha esito positivo e l'attività di ReceiveActivity riceve ed elabora il messaggio.

Si applica a