ReceiveActivity.OperationValidation Evento
Definizione
Importante
Alcune informazioni sono relative alla release non definitiva del prodotto, che potrebbe subire modifiche significative prima della release definitiva. Microsoft non riconosce alcuna garanzia, espressa o implicita, in merito alle informazioni qui fornite.
Si verifica quando viene ricevuto un messaggio per un'operazione ed è richiesta la convalida.
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 evento
Esempio
Nell'esempio seguente viene illustrato come utilizzare l'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;
}
Commenti
Si tratta di un gestore eventi facoltativo generato quando l'attività di ReceiveActivity sta per ricevere un messaggio. È possibile utilizzare il gestore associato per eseguire i controlli di sicurezza basati su ClaimSet per autorizzare la chiamata del client dell'operazione del servizio implementata dall'attività di ReceiveActivity.
L'impostazione di OperationValidationEventArgs.IsValid su false
nel gestore eventi rifiuta la chiamata all'operazione del servizio e il client riceve FaultException. Se OperationValidationEventArgs.IsValid è impostata su true
, la chiamata all'operazione del servizio ha esito positivo e l'attività di ReceiveActivity riceve ed elabora il messaggio.