ReceiveActivity.OperationValidation Zdarzenie
Definicja
Ważne
Niektóre informacje odnoszą się do produktu w wersji wstępnej, który może zostać znacząco zmodyfikowany przed wydaniem. Firma Microsoft nie udziela żadnych gwarancji, jawnych lub domniemanych, w odniesieniu do informacji podanych w tym miejscu.
Występuje po odebraniu komunikatu dla operacji i wymagane jest sprawdzenie poprawności.
public:
event EventHandler<System::Workflow::Activities::OperationValidationEventArgs ^> ^ OperationValidation;
[System.ServiceModel.SRCategory("Handlers")]
public event EventHandler<System.Workflow.Activities.OperationValidationEventArgs> OperationValidation;
[<System.ServiceModel.SRCategory("Handlers")>]
member this.OperationValidation : EventHandler<System.Workflow.Activities.OperationValidationEventArgs>
Public Custom Event OperationValidation As EventHandler(Of OperationValidationEventArgs)
Typ zdarzenia
- Atrybuty
-
System.ServiceModel.SRCategoryAttribute
Przykłady
W poniższym przykładzie pokazano, jak używać OperationValidation
zdarzenia.
[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;
}
Uwagi
Jest to opcjonalna procedura obsługi zdarzeń, która jest uruchamiana, gdy ReceiveActivity działanie ma otrzymać komunikat. Skojarzona procedura obsługi może służyć do przeprowadzania kontroli zabezpieczeń opartych na zestawie oświadczeń w celu autoryzowania wywołania operacji usługi implementowanej przez ReceiveActivity działanie.
Ustawienie OperationValidationEventArgs.IsValid wartości w false
programie obsługi zdarzeń odrzuca wywołanie operacji usługi, a klient otrzymuje element FaultException. Jeśli OperationValidationEventArgs.IsValid ustawiono wartość true
, wywołanie operacji usługi powiedzie się, a ReceiveActivity działanie odbiera i przetwarza komunikat.