Bagikan melalui


Memperluas pelacakan

Sampel ExtendingTracing menunjukkan cara memperluas fitur pelacakan Windows Communication Foundation (WCF) dengan menulis jejak aktivitas yang ditentukan pengguna dalam kode klien dan layanan. Menulis jejak aktivitas yang ditentukan pengguna memungkinkan pengguna untuk membuat aktivitas pelacakan dan jejak grup ke dalam unit kerja logis. Dimungkinkan juga untuk 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 didasarkan pada Panduan Memulai.

Nota

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

Pelacakan dan Penyebaran Aktivitas

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

Menambahkan sumber kustom

Jejak yang ditentukan pengguna dapat ditambahkan ke kode klien dan kode layanan. Menambahkan sumber pelacakan ke file konfigurasi klien atau layanan memungkinkan jejak kustom ini direkam dan ditampilkan di Alat Penampil Jejak Layanan (SvcTraceViewer.exe). Kode berikut menunjukkan cara menambahkan sumber pelacakan 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>
....

Mengkorelasikan aktivitas

Untuk menghubungkan aktivitas secara langsung antar titik akhir, atribut propagateActivity harus diatur ke true dalam sumber pelacakan System.ServiceModel. Selain itu, untuk menyebarluaskan jejak tanpa melalui aktivitas WCF, Pelacakan Aktivitas ServiceModel harus dimatikan. Ini dapat dilihat dalam contoh kode berikut.

Nota

Menonaktifkan Pelacakan Aktivitas ServiceModel tidak sama dengan menonaktifkan tingkat pelacakan yang disimbolkan oleh properti switchValue.

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

    ...

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

Mengurangi biaya performa

Pengaturan ActivityTracing ke nonaktif di System.ServiceModel sumber pelacakan menghasilkan file pelacakan yang hanya berisi jejak aktivitas yang ditentukan pengguna, tanpa jejak aktivitas ServiceModel yang disertakan. Tidak termasuk 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 One-Time untuk Sampel Windows Communication Foundation.

  2. Untuk membangun solusi edisi C# atau Visual Basic .NET, ikuti instruksi di Membangun Sampel Windows Communication Foundation.

  3. Untuk menjalankan sampel dalam konfigurasi satu atau lintas komputer, ikuti instruksi dalam Menjalankan Sampel Windows Communication Foundation.

Lihat juga