2013-02-03 3 views
1

메서드를 실행하기 전에 클라이언트에서 메시지를 가로 채기 위해 IDispatchOperationSelector를 구현하는 사용자 지정 OperationSelector를 정의했습니다. 메시지에 포함 된 공개/개인 키 값을 확인할 수 있도록이 작업을 수행하고 필요한 경우 인증 오류를 내 서비스에 넣지 않고 throw합니다.WCF에서 계약 및 작업 찾기 IDispatchOperationSelector

이 모든 것이 지금까지 제대로 작동하지만 각 서비스 작업에 [AuthenticationType] 특성을 지정하고 싶습니다.이 OperationSelector를 확인할 수 있습니다. 어쨌든 참조 할 수 있습니까, 아니면 해당 Conctract 및 OperationSelector 작업을 찾으십시오? 그렇다면 어떻게?

답변

1

전체 계약에 MessageInspector을 모두 섞은 다음 기본 이름이 MessageInspector 인 작업 이름을 등록하는 OperationBehavior을 만드는 것이 좋습니다. 여기에 표시된 것과 유사

: http://social.msdn.microsoft.com/Forums/en-US/wcf/thread/bcd94cf9-2881-4081-a05b-771a6e6f9c06/ (카를로스 피게의 대답)

그 방법, 메시지 관리자가 속성에 등록 된 모든 작업 목록으로 끝낼 것이며, 관리자가 확인이 필요한 식별하고 그렇지 않습니다.

+0

원래 MessageInspector를 가졌지 만 MessageInspector에서 작업을 찾고 인증이 실패하면 조건부로 실행을 중지 할 수 있습니까? – TheJediCowboy

+0

또한 MessageInspector에서 대상 작업을 알고 있습니까? – TheJediCowboy

+0

나는 그것을 직접 시도하지 않았고 매우 예쁘지는 않지만 꽤 가능할 것으로 보인다 : http://stackoverflow.com/a/2477201/1373170 –

관련 문제