ReceiveActivity.OperationValidation Evento

Definición

Se produce cuando se recibe un mensaje para una operación y se necesita validación.

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 de evento

Ejemplos

En el siguiente ejemplo se muestra cómo utilizar el 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;
}

Comentarios

Se trata de un controlador de eventos opcional que se activa cuando la actividad ReceiveActivity está a punto de recibir un mensaje. El controlador asociado puede utilizarse para realizar comprobaciones de seguridad basadas en ClaimSet, y autorizar la invocación del cliente de la operación de servicio implementada por la actividad ReceiveActivity.

Si se establece OperationValidationEventArgs.IsValid en false en el controlador de eventos, se rechaza la invocación de operación de servicio y el cliente recibe una FaultException. Si OperationValidationEventArgs.IsValid está establecido en true, la invocación de operación de servicio se realiza correctamente, y la actividad ReceiveActivity recibe y procesa el mensaje.

Se aplica a