ReceiveActivity.OperationValidation Evento
Definición
Importante
Parte de la información hace referencia a la versión preliminar del producto, que puede haberse modificado sustancialmente antes de lanzar la versión definitiva. Microsoft no otorga ninguna garantía, explícita o implícita, con respecto a la información proporcionada aquí.
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.