Могу ли я использовать трассировку WCF без конфигурационного файла? - PullRequest
0 голосов
/ 30 октября 2019

В моем приложении WCF я не использовал файл конфигурации ни на клиенте, ни на сервере. Я создал адрес, привязку и контракт в коде и использовал их для размещения службы, и это работает нормально. Теперь я хочу добавить трассировку WCF, и я не нахожу способ добавить трассировку через код, как показано ниже, где используется файл конфигурации:

<system.diagnostics>
  <sources>
     <source name="System.ServiceModel.MessageLogging">
       <listeners>
         <add name="messagelistener"
              type="System.Diagnostics.XmlWriterTraceListener"
                     initializeData="d:\logs\myMessages.svclog"></add>
       </listeners>
     </source>
   </sources>
 </system.diagnostics>
 <system.serviceModel>
     <diagnostics>
       <messageLogging logEntireMessage="true"
                       logMessagesAtServiceLevel="false"
                       logMessagesAtTransportLevel="false"
                       logMalformedMessages="true"
                       maxMessagesToLog="5000"
                       maxSizeOfMessageToLog="2000">
       </messageLogging>
     </diagnostics>
 </system.serviceModel>

1 Ответ

0 голосов
/ 31 октября 2019

Пожалуйста, обратитесь к официальному документу о реализации этой функции в коде.
https://docs.microsoft.com/en-us/dotnet/framework/wcf/samples/tracing-and-message-logging
https://docs.microsoft.com/en-us/dotnet/framework/debug-trace-profile/trace-listeners
https://docs.microsoft.com/en-us/dotnet/framework/wcf/diagnostics/configuring-message-logging

FileStream fs = new FileStream(@"C:\1.mylog.svclog", FileMode.OpenOrCreate, FileAccess.ReadWrite, FileShare.ReadWrite);

        System.Diagnostics.Trace.Listeners.Clear();
        System.Diagnostics.Trace.Listeners.Add(new System.Diagnostics.XmlWriterTraceListener(fs));

Кроме того, поканасколько я знаю, мы не можем настроить запись сообщений WCF в коде. Его можно настроить только в WebConfig.
https://docs.microsoft.com/en-us/dotnet/framework/configure-apps/file-schema/wcf/messagelogging
Не стесняйтесь, дайте мне знать, если есть что-то, с чем я могу помочь.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...