2014-10-08 2 views
1

Windows 서비스로 호스팅되는 WCF 서비스 (프로젝트 출력 유형 - Windows 응용 프로그램)가 있습니다. 모든 클라이언트 및 서버 논리는 C# 코드에 있으며 구성 파일이 없습니다. 구성 파일을 사용하지 않고 wcf 추적을 사용 가능하게해야합니다. 어떻게하면됩니까?wcf 추적을 prgrammatically 사용하는 방법?

답변

1

.config 파일에 입력 할 내용을 프로그래밍 방식으로 구성 할 수 있습니다. 당신이 당신의 서비스를 초기화 할 때 그냥이 코드를 추가 (로깅 요구 사항에 따라 그것을 사용자 정의) :

var listener = new XmlWriterTraceListener("Log.xml"); 
Debug.Listeners.Add(listener); 

주 당신은 당신이 속성과 함께 할 것입니다 당신이 필요 (예를 들어, 로그 수준) 모든 속성을 설정할 수 있습니다 당신의 .config 파일 : 또한 사용자 정의 필터를 추가 할 수 있습니다

Debug.AutoFlush = true; 
listener.TraceOutputOptions = TraceOptions.Callstack; 

: 당신이 할 수없는 디자인으로

listener.Filter = new MyCustomTraceFilter(); 
+0

이 기능은 WCF 메시지 로그 추적에 사용할 수 있습니까? –

+0

그래야하지만 디버그 대신 TraceSource를 대상으로해야합니다. – MatthewMartin

+0

@MatthewMartin Debug는 TraceInternal로 전달하지만, OP에 사용자 정의 TraceSource가 있으면 사용할 수 있습니다. –

0

그것을 참조 :

http://social.msdn.microsoft.com/Forums/vstudio/en-US/25b17fef-5660-499d-ad1b-aaa3b8ab7f60/how-do-you-enable-wcf-tracing-without-using-a-config-file-programmatically?forum=wcf

구성 파일 없이는이 작업을 수행 할 수 없습니다. 그러나 두 번째 시스템에 대한 구성 파일을 작성하는 하나의 시스템을 가질 수 있습니다. 첫 번째 시스템은 별도의 앱 풀에서 두 번째 시스템을 시작합니다. 로깅은 두 번째 시스템에서 켜집니다.