WCF izlemesi nasıl açılır?


160

Güncelleme:

WCF izlemeyi açmaya çalışıyorum , ama yine de başarı yok ... Aşağıda en son güncellemem.

Aşağıdaki konuma yazmak için izne ihtiyacım var mı?

  <system.diagnostics>
    <trace autoflush="true" />
    <sources>
      <source name="System.ServiceModel"
              switchValue="Information, ActivityTracing"
              propagateActivity="true">
        <listeners>
          <add name="sdt"
              type="System.Diagnostics.XmlWriterTraceListener"
              initializeData= "@\\myservername\folder1\traces.svclog" />
        </listeners>
      </source>
    </sources>
  </system.diagnostics>

.NET Framework 3.5 kullanıyorum.

Hata ayıklama amacıyla WCF izlemeyi açmak için adım adım talimat nedir?

Yanıtlar:


230

WCF hizmetinizde izlemeyi etkinleştirmek için MSDN'den alınan aşağıdaki yapılandırma uygulanabilir .

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

Günlük dosyasını görüntülemek için "C: \ Program Files \ Microsoft SDKs \ Windows \ v7.0A \ bin \ SvcTraceViewer.exe" kullanabilirsiniz.

"SvcTraceViewer.exe" sisteminizde değilse, "Windows 7 ve .NET Framework 4 için Microsoft Windows SDK" paketinden buradan indirebilirsiniz:

Windows SDK İndirme

Hepsini yüklemek zorunda değilsiniz, sadece ".NET Geliştirme / Araçlar" bölümü.

Mantıksal olmayan bir hatayla yükleme sırasında ne zaman patlarsa / patlarsa , Petopas'ın Windows 7 SDK Yükleme Hatası'na verdiği yanıt sorunumu çözdü.


18
dosyanın genereated olduğunu nereden görüyorum Error.svclog?
— Nick Kahn

4
Dosya, derlemenizle aynı dizinde oluşturulur. Büyük olasılıkla bin dizininiz. Hizmetlerin IIS'de barındırılması durumunda çalışan işlemi geri dönüştürmeniz gerekebilir.
— Rohan West

9
Uygulama Havuzu - Kimliğinizin bu klasöre yazma iznine sahip olduğundan emin olun. Genellikle uygulama havuzuma atanmış özel bir hesabım var, bu şekilde o kullanıcıya okuma / yazma erişimi verebiliyorum
— Rohan West

2
Geliştirme ortamında, Hata dosyası (initializeData = "Error.svclog") çözüm projesinin içinde saklanır. Diğer konumlara değiştirmek işe yaramadı.
— LCJ

5
Bunu kullanarak bir klasöre oturum açmak için başardı: initializeData = "C: \ wcflogs \ wcf_svclog.svclog" />
— Adrian Carr

32

Web.config dosyasına (sunucuda) ekleyin

<system.diagnostics>
 <sources>
  <source name="System.ServiceModel" switchValue="Information, ActivityTracing" propagateActivity="true">
   <listeners>
    <add name="traceListener" type="System.Diagnostics.XmlWriterTraceListener" initializeData="C:\logs\Traces.svclog"/>
   </listeners>
  </source>
 </sources>
</system.diagnostics>

1
i klasörü dışında dev erişimi yok initializeData="\\servername\drive$\Project\WCFTraces.svclog"/>ve ben hizmetlere erişmeye çalıştıktan sonra bu dosya oluşturulur görmüyorum beri böyle ekledim .
— Nick Kahn

5
Varsayılan olarak arabelleğe alınır (bunu değiştirebilir). Uygulama havuzunu geri dönüştürerek yıkamayı zorlayabilirsiniz. Ayrıca uygulama havuzu kimliğinin konuma yazabildiğinden emin olun.
— Christoph

20

Microsoft SDK'ları dizininize gidin. Bunun gibi bir yol:

C:\Program Files (x86)\Microsoft SDKs\Windows\v10.0A\bin\NETFX 4.6 Tools

Bu dizinden WCF Yapılandırma Düzenleyicisi'ni (Microsoft Hizmet Yapılandırma Düzenleyicisi) açın:

SvcConfigEditor.exe

(bu aracı açmak için başka bir seçenek de Visual Studio 2017'de "Araçlar"> "WCF Hizmet Yapılandırma Düzenleyicisi" ne giderek)

wcf yapılandırma editörü

Düzenleyiciyi kullanarak .config dosyanızı açın veya yeni bir tane oluşturun ve Teşhis'e gidin.

Burada "MessageLogging'i Etkinleştir" i tıklayabilirsiniz.

mesaj kaydını etkinleştir

Daha fazla bilgi: https://msdn.microsoft.com/en-us/library/ms732009(v=vs.110).aspx

Aynı dizindeki izleme görüntüleyici ile izleme günlük dosyalarını açabilirsiniz:

SvcTraceViewer.exe

WMI kullanarak izlemeyi de etkinleştirebilirsiniz. Daha fazla bilgi: https://msdn.microsoft.com/en-us/library/ms730064(v=vs.110).aspx


2
beni bu GUI yardımcı programına tanıttığınız için çok teşekkür ederim. yapılandırma dosyalarının düzenlenmesini çok daha kolay hale getirecektir!
— symbiont

Awesome.it Tracelog anlamak için bana çok yardımcı olur.
— ksrds

Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.