ReceiveActivity.OperationValidation 事件
定義
重要
部分資訊涉及發行前產品,在發行之前可能會有大幅修改。 Microsoft 對此處提供的資訊,不做任何明確或隱含的瑕疵擔保。
當作業接收到訊息且需要驗證時,會發生這種情況。
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 活動將要接收到訊息時,會引發此事件。 關聯的處理常式可用來執行 ClaimSet 安全性檢查,來授權 ReceiveActivity 活動所實作的服務作業之用戶端叫用。
若在事件處理常式內將 OperationValidationEventArgs.IsValid 設為 false
,則會拒絕服務作業叫用,且用戶端會收到 FaultException。 若 OperationValidationEventArgs.IsValid 設為 true
,則服務作業叫用會成功,且 ReceiveActivity 活動會接收並處理訊息。