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.