ReceiveActivity.OperationValidation Событие

Определение

Происходит при получении сообщения для операции, если требуется проверка.

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) 

Тип события

Примеры

В следующем примере показано использование события 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;
}

Комментарии

Это необязательный обработчик событий, который выполняется, когда действие ReceiveActivity ожидает получения сообщения. С помощью связанного обработчика можно выполнить проверку безопасности на основе наборов утверждений, чтобы авторизовать вызов клиентом операции службы, реализованной в действии ReceiveActivity.

Установка свойства OperationValidationEventArgs.IsValid равным false в обработчике событий вызывает отказ в вызове операции службы, и клиент получает исключение FaultException. Если свойство OperationValidationEventArgs.IsValid имеет значение true, то вызов операции службы проходит успешно, а действие ReceiveActivity получает и обрабатывает сообщение.

Применяется к