0
모든 데이터를 SQL Server DB에 쓰는 CustomTraceListener를 작성하고 싶습니다. 는 여기에 Stub의 :CustomTraceListener로 MessageLoggingTraceRecords를 catch 할 때 SOAP 메시지가 비어 있습니다.
public class SqlTraceListener : TraceListener
{
public SqlTraceListener()
: base()
{ }
public SqlTraceListener(String name)
: base(name)
{ }
protected override string[] GetSupportedAttributes()
{
List<string> attributes = new List<string>();
attributes.Add("connectionString");
attributes.Add("actionFilter");
attributes.Add("hostFilter");
return base.GetSupportedAttributes();
}
public override void TraceData(TraceEventCache eventCache, string source, TraceEventType eventType, int id, object data)
{ }//Other empty methods...
}
재정의 된 메서드에서 내 WCF 서비스로 전송 SOAP 메시지를 잡으려면 TraceData. 내가 확인하지만 나는이 얻을 "데이터"매개 변수에 포함되는 것 : (사진으로 XML을 게시 미안 - 그렇게 편집기 게시물에서 일부 XML 키워드를 허용하지 않는 것) :
그러나 표준에 따라
어떻게 SOAP 메시지를 제거하지 TraceListener에서를 구성하는 방법 : XmlWriterTraceListener 나는이 얻을해야합니까? 내 설정은 여기에 있습니다 :
<system.diagnostics>
<sources>
<source name="System.ServiceModel.MessageLogging">
<listeners>
<add name="xml"/>
<add name="sql"/>
</listeners>
</source>
</sources>
<sharedListeners>
<add initializeData="C:\logs\StockPriceService.svclog" type="System.Diagnostics.XmlWriterTraceListener" name="xml"/>
<add type="SqlTraceListener.SqlTraceListener, SqlTraceListener" name="sql"/>
</sharedListeners>
<trace autoflush="true"/>
문제의 해결책을 찾으셨습니까? – lakai
불행히도 없습니다. 표준 XmlWriterTraceListener를 한동안 스텁으로 사용했습니다. – Dima