Partilhar via


ReceiveActivity.OperationValidation Evento

Definição

Ocorre quando é recebida uma mensagem de uma operação e a validação é necessária.

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

Exemplos

O exemplo a seguir mostra como usar o OperationValidation evento .

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

Comentários

Esse é um manipulador de eventos opcional que é acionado quando a ReceiveActivity atividade está prestes a receber uma mensagem. O manipulador associado pode ser usado para executar verificações de segurança baseadas em ClaimSet para autorizar a invocação do cliente da operação de serviço implementada pela ReceiveActivity atividade.

A configuração OperationValidationEventArgs.IsValid como false no manipulador de eventos rejeita a invocação da operação de serviço e o cliente recebe um FaultException. Se OperationValidationEventArgs.IsValid for definido truecomo , a invocação da operação de serviço terá êxito e a ReceiveActivity atividade receberá e processará a mensagem.

Aplica-se a