ReceiveActivity::OperationValidation Event
Occurs when a message is received for an operation and validation is required.
Assembly: System.WorkflowServices (in System.WorkflowServices.dll)
This is an optional event handler that is fired when the ReceiveActivity activity is about to receive a message. The associated handler can be used to perform ClaimSet-based security checks to authorize client invocation of the service operation implemented by the ReceiveActivity activity.
Setting OperationValidationEventArgs::IsValid to false in the event handler rejects the service operation invocation and the client receives a FaultException. If OperationValidationEventArgs::IsValid is set to true, then the service operation invocation succeeds and the ReceiveActivity activity receives and processes the message.
The following example shows how to use the OperationValidation event.
[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; }
Available since 3.5