Bagikan melalui


Memperluas pelacakan

Sampel ExtendingTracing menunjukkan cara memperluas fitur pelacakan Windows Communication Foundation (WCF) dengan menulis pelacakan aktivitas yang ditentukan pengguna dalam kode layanan dan klien. Menulis pelacakan aktivitas yang ditentukan pengguna memungkinkan pengguna membuat aktivitas pelacakan dan pelacakan grup ke dalam unit kerja logis. Hal ini juga dapat menghubungkan aktivitas melalui transfer (dalam titik akhir yang sama) dan penyebaran (di seluruh titik akhir). Dalam sampel ini, pelacakan diaktifkan untuk klien dan layanan. Untuk informasi selengkapnya tentang cara mengaktifkan pelacakan dalam file konfigurasi klien dan layanan, lihat Penelusuran dan Pengelogan Pesan.

Sampel ini berdasarkan Memulai.

Catatan

Prosedur pengaturan dan instruksi build untuk sampel ini terletak di akhir topik ini.

Pelacakan dan Penyebaran Aktivitas

Pelacakan aktivitas yang ditentukan pengguna memungkinkan pengguna membuat aktivitas jejaknya sendiri untuk mengelompokkan jejak ke dalam unit pekerjaan yang logis, menghubungkan aktivitas melalui transfer dan penyebaran, serta mengurangi biaya performa pelacakan WCF (misalnya, biaya ruang disk untuk file log).

Menambahkan sumber kustom

Jejak yang ditentukan pengguna dapat ditambahkan ke kode klien dan layanan. Menambahkan sumber jejak ke file konfigurasi komputer klien atau layanan memungkinkan jejak kustom ini direkam dan ditampilkan dalam Alat Penampil Jejak Layanan (SvcTraceViewer.exe). Kode berikut menunjukkan cara menambahkan sumber jejak yang ditentukan pengguna bernama ServerCalculatorTraceSource ke file konfigurasi.

<system.diagnostics>
    <sources>
        <source name="System.ServiceModel" switchValue="Warning" propagateActivity="true">
            <listeners>
                <add type="System.Diagnostics.DefaultTraceListener" name="Default">
                    <filter type="" />
                </add>
                <add name="xml">
                    <filter type="" />
                </add>
            </listeners>
        </source>
        <source name="ServerCalculatorTraceSource" switchValue="Information,ActivityTracing">
            <listeners>
                <add type="System.Diagnostics.DefaultTraceListener" name="Default">
                    <filter type="" />
                </add>
                <add name="xml">
                    <filter type="" />
                </add>
            </listeners>
        </source>
    </sources>
    <sharedListeners>
       <add initializeData="C:\logs\ServerTraces.svclog" type="System.Diagnostics.XmlWriterTraceListener"
        name="xml" traceOutputOptions="Callstack">
            <filter type="" />
        </add>
    </sharedListeners>
    <trace autoflush="true" />
</system.diagnostics>
....

Menghubungkan aktivitas

Untuk menghubungkan aktivitas secara langsung di seluruh titik akhir, atribut propagateActivity harus ditetapkan ke true pada sumber jejak System.ServiceModel. Selain itu, untuk menyebarkan jejak tanpa melalui aktivitas WCF, Pelacakan Aktivitas ServiceModel harus dinonaktifkan. Hal ini dapat dilihat pada contoh kode berikut.

Catatan

Menonaktifkan Pelacakan ServiceModel Activity tidak sama dengan memiliki tingkat jejak, yang ditandai oleh properti switchValue, yang ditetapkan ke nonaktif.

<system.diagnostics>
    <sources>
      <source name="System.ServiceModel" switchValue="Warning" propagateActivity="true">

    ...

       </source>
    </sources>
</system.diagnostics>

Mengurangi biaya performa

Menetapkan ActivityTracing ke nonaktif pada sumber jejak System.ServiceModel menghasilkan file jejak yang hanya berisi jejak aktivitas yang ditentukan pengguna, tanpa jejak aktivitas ServiceModel yang disertakan. Mengecualikan jejak aktivitas ServiceModel menghasilkan file log yang jauh lebih kecil. Namun, kesempatan untuk menghubungkan jejak pemrosesan WCF hilang.

Menyiapkan, membangun, dan menjalankan sampel

  1. Pastikan Anda telah melakukan Prosedur Penyiapan Satu Kali untuk Sampel Windows Communication Foundation.

  2. Untuk membangun solusi edisi C# atau Visual Basic .NET, ikuti petunjuknya di Membangun Sampel WCF.

  3. Untuk menjalankan sampel dalam konfigurasi tunggal atau lintas komputer, ikuti petunjuk di Menjalankan Sampel Windows Communication Foundation.

Lihat juga