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 동작에서 메시지를 받아 처리합니다.