ReceiveActivity.OperationValidation イベント
定義
重要
一部の情報は、リリース前に大きく変更される可能性があるプレリリースされた製品に関するものです。 Microsoft は、ここに記載されている情報について、明示または黙示を問わず、一切保証しません。
操作に関するメッセージが受信され、検証が必要な場合に発生します。
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)
イベントの種類
- 属性
-
System.ServiceModel.SRCategoryAttribute
例
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 アクティビティはメッセージを受信および処理します。