代码之家  ›  专栏  ›  技术社区  ›  Nathan Wheeler

从代码跟踪WCF

  •  7
  • Nathan Wheeler  · 技术社区  · 15 年前

    here ,但它不会产生任何原木。

    编辑:要添加更多信息,请执行以下操作:

    该应用程序是一个C#控制台应用程序,我的绑定声明为:

    private Binding getBinding()
    {
        NetTcpBinding tcp = new NetTcpBinding();
        tcp.ReaderQuotas.MaxArrayLength = 65535;
        tcp.TransferMode = TransferMode.Streamed;
        tcp.ReaderQuotas.MaxArrayLength = int.MaxValue;
        tcp.ReaderQuotas.MaxDepth = int.MaxValue;
        tcp.ReaderQuotas.MaxStringContentLength = int.MaxValue;
        tcp.ReaderQuotas.MaxBytesPerRead = int.MaxValue;
        tcp.ReaderQuotas.MaxNameTableCharCount = int.MaxValue;
        tcp.MaxReceivedMessageSize = int.MaxValue;
        return tcp;
    }
    

    private List<ServiceHost> m_Hosts = new List<ServiceHost>();
    private static List<string> m_Services = new List<string>();
    
    public void AddHost<T1, T2>(string uri)
        where T1 : class
        where T2 : class
    {
        m_Services.Add("net.tcp://<ipaddress>:<port>/" + uri);
        m_Hosts.Add(new ServiceHost(typeof(T1)));
        m_Hosts[m_Hosts.Count - 1].AddServiceEndpoint(typeof(T2), getBinding(), m_Services[m_Services.Count - 1]);
    }
    

    显然还有一些代码可以让这一切正常工作,但这应该会给出相关的部分。

    2 回复  |  直到 15 年前
        1
  •  5
  •   Daniel Vassallo    15 年前

    下面是一个例子 .config 如果要再次尝试,请使用示例启用跟踪。确保 .config

    <configuration>
      <system.diagnostics>
        <sources>
          <source name="System.ServiceModel" switchValue="Warning" propagateActivity="true" >
            <listeners>
              <add name="xml"/>
            </listeners>
          </source>
    
          <source name="myUserTraceSource" switchValue="Warning, ActivityTracing">
            <listeners>
              <add name="xml"/>
            </listeners>
          </source>
        </sources>
    
        <sharedListeners>
          <add name="xml" 
               type="System.Diagnostics.XmlWriterTraceListener" 
               initializeData="TraceLog.svclog" />
        </sharedListeners>
    
      </system.diagnostics>
    </configuration>
    

    Service Trace Viewer Tool 读取.svclog文件。

    确保保存.svclog的路径具有必要的写入权限。