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 получает и обрабатывает сообщение.