WCF, прослеживающий из кода

У меня есть все мои соединения, настроенные из моего кода, в противоположность использованию моего файла конфигурации. Как каждый идет об установке WCF, Прослеживающего на соединении, созданном из кода. Я пытался добавить трассировку до файла конфигурации, как объяснено здесь, но это не производит журналов вообще.

Я должен знать или как заставить его работать из файла конфигурации на соединения, настроенные в коде, или как настроить его вручную в коде, если у кого-либо есть какая-либо информация.Спасибо!

Править: Добавить немного больше информации:

Приложение является Консольным приложением 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 m_Hosts = new List();
private static List m_Services = new List();

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

Существует, очевидно, немного больше кода для создания этой всей работы, но это должно дать любые соответствующие части.

7
задан Daniel Vassallo 18 December 2009 в 23:40
поделиться

1 ответ

Ниже приведен пример .config для включения трассировки, если вы хотите сделать еще одну попытку. Убедитесь, что файл .config находится в той же папке, что и узел службы WCF.

<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>

Microsoft предоставляет Средство просмотра трассировки служб для чтения файлов .svclog.

Убедитесь, что путь, по которому вы будете сохранять .svclog, имеет необходимые разрешения на запись.

5
ответ дан 7 December 2019 в 12:21
поделиться
Другие вопросы по тегам:

Похожие вопросы: