2010-02-05 4 views
3

WCF 서비스 (행복한 기쁨) 모든 메시지가 추상 클래스 인 MessageBase에서 상속 받고 아래 인터페이스를 구현합니다.WCF에서 작업 매개 변수의 일반 로깅

public interface IMessageBase<T> where T : class 
{ 
    String Serialize(T data); 
    T Deserialize(string text); 
} 

내 작업 계약 중 하나에 다음과 같은 메시지가 표시 될 때마다이 메시지를 기록하고 싶습니다. 메소드가 요청되고 인바운드 매개 변수 중 하나가 IMessageBase에 할당되는 즉시 실제 메소드를 사용하지 않고 로깅을 실행하려고합니다. 나는 이것을 어떻게 얻을 수 있을까? 내 IDispatchMessageInspector에서이 작업을 수행 할 필요가있을 것이라고 가정하지만 어떻게?

+1

사물의 서버 쪽 (예 - IDispatchMessageInspector) 또는 클라이언트 쪽에서 로그온 하시겠습니까 ?? (이 경우 IClientMessageInspector가 필요합니다.) –

답변

4
+0

방금 ​​LoggingMessageInspector를 추가했습니다. 처음에는 wolfpack에 외로운 UnitOfWorkMessageInspector가있었습니다. 그런 다음 LoggingMessageInspector를 따라 와서 wolfpack에 가입했습니다. 그리고 그들은 누구나 가질 수있는 가장 친한 친구 2 명이었습니다! – mhenrixon

1

이 독립 프로세스 감사입니다 아니면 그냥 추적을 추가 할 수 디버깅하는 경우 또는 .config에 메시지 로그인. wcf 구성 편집기를 사용해보십시오. 간단하게 수행 할 수 있으며 제공되는 도구를 사용하여 보거나 필요에 따라 구문 분석 할 수있는 xml 파일을 작성합니다.

요청이 처리 될 때 실시간 결과를 찾으려면 메시지 관리자와 관련된 다른 답변을 참조하십시오.