如何以编程方式执行以下操作?我们希望能够从 UI 设置屏幕将其打开,并且不希望需要管理员权限来更新 App.config 文件。谢谢你
<system.diagnostics>
<sources>
<source name="System.ServiceModel"
switchValue="Information, ActivityTracing"
propagateActivity="true">
<listeners>
<add name="traceListener"
type="System.Diagnostics.XmlWriterTraceListener"
initializeData= "C:\Temp\WCF_UI_Trace.svclog" />
</listeners>
</source>
</sources>
</system.diagnostics>
您需要使用以下类:XmlWriterTraceListener、TraceSource。
XmlWriterTraceListener:属于 System.Diagnostics.TextWriterTraceListener.dll。它可以将一些数据写入svclog文件。 XmlWriterTraceListener 类
TraceSource:t 属于 System.Diagnostics.TraceSource.dll。它提供了一组方法和属性,使应用程序能够跟踪代码的执行并将跟踪消息与其源相关联。 TraceSource 类
public class Service : IService
{
public void Test()
{
XmlWriterTraceListener TestListener = new XmlWriterTraceListener("TestListener.svclog");
TraceSource TestSource = new TraceSource("TestSource");
TestSource.Listeners.Add(TestListener);
TestSource.Switch.Level = SourceLevels.All;
TestSource.TraceEvent(TraceEventType.Information, 1, "Entering Test");
TestSource.TraceEvent(TraceEventType.Information, 2, "Exiting Test");
TestListener.Flush();
TestListener.Close();
}
}