Not
Bu sayfaya erişim yetkilendirme gerektiriyor. Oturum açmayı veya dizinleri değiştirmeyi deneyebilirsiniz.
Bu sayfaya erişim yetkilendirme gerektiriyor. Dizinleri değiştirmeyi deneyebilirsiniz.
Birbirine bağlı hizmetler içeren dağıtılmış bir sistemde, hizmetler arasındaki nedensel ilişkilerin belirlenmesi gerekir. Sistem durumu izleme, sorun giderme ve kök neden analizi gibi kritik senaryoları desteklemek için bir istek akışının parçası olan çeşitli bileşenleri anlamak önemlidir. Çeşitli hizmetler arasındaki izlemelerin bağıntısını etkinleştirmek için .NET Framework 4'te aşağıdaki özellikler aracılığıyla destek ekledik:
Analitik izleme: Windows için Olay İzleme (ETW) kullanan yüksek performanslı ve düşük sözlü bir izleme özelliği.
WCF/WF hizmetleri için uçtan uca aktivite modeli: Bu özellik System.ServiceModel ve System.Workflow.ComponentModel ad alanları tarafından oluşturulan izlemelerin bağıntısını destekler.
WF için ETW izleme: Bu özellik, iş akışının geçerli durumu ve ilerleme durumu hakkında görünürlük sağlamak için WF hizmetleri tarafından oluşturulan izleme kayıtlarını kullanır.
İzleme veya izini sürme kaydında günlüğe kaydedilen hatalar, kod hatalarını veya yanlış biçimlendirilmiş iletileri bulmak için kullanılabilir. Hataya neden olan etkinliği belirlemek için olayın ileti üst bilgisindeki Bağıntı düğümünün ActivityId özelliği kullanılabilir. Etkinlik kimliğine göre ileti akışı izlemeyi etkinleştirmek için bkz . İleti Akışı İzlemeyi Yapılandırma. Bu konu başlığında, Başlarken öğreticisinde oluşturulan projede ileti akışı izlemeyi etkinleştirme adımları gösterilmektedir.
Başlangıç öğreticisinde ileti akışı izlemeyi etkinleştirmek için
Başlat
, Çalıştır tıklayın ve yazarak Olay Görüntüleyicisi'ni açın. Analiz izlemeyi etkinleştirmediyseniz, Uygulamalar ve Hizmet Günlükleri, Microsoft, Windows, Application Server-Applications öğesini genişletin. Görünüm, Analiz ve Hata Ayıklama Günlüklerini Göster'i seçin. Analitik'e sağ tıklayın ve Günlüğü Etkinleştir'i seçin. İzlemelerin görüntülenebilmesi için Olay Görüntüleyicisi açık bırakın.
Visual Studio 2012'deki Başlarken Öğreticisi'nde oluşturulan örneği açın. Hizmetin oluşturulabilmesi için Visual Studio 2012'yi yönetici olarak çalıştırmanız gerektiğini unutmayın. WCF örnekleri yüklüyse, öğreticide oluşturulan tamamlanmış projeyi içeren Başlarken'i açabilirsiniz.
Hizmet projesine sağ tıklayın ve Ekle, Yeni Öğe'yi seçin. Uygulama Yapılandırma Dosyası'nı seçin ve Tamam'a tıklayın.
Önceki adımda oluşturulan App.Config dosyasına aşağıdaki kodu ekleyin.
<system.serviceModel> <diagnostics> <endToEndTracing propagateActivity="true" messageFlowTracing="true"/> </diagnostics> </system.serviceModel>CTRL+F5 tuşlarına basarak hata ayıklamadan sunucu uygulamasını yürütebilirsiniz. İstemci projesine sağ tıklayıp Hata Ayıkla, Yeni Örneği Başlat seçeneklerini seçerek İstemci projesini çalıştırın.
İstemciden sunucuya olayları izlemek için, İstemci projesindeki uygulama yapılandırma dosyasına aşağıdakileri ekleyin.
<diagnostics> <endToEndTracing propagateActivity="true" messageFlowTracing="true"/> </diagnostics>İstemcideki Program.cs dosyasında aşağıdaki
usingyönergeyi ekleyin.using System.Diagnostics;Mainİstemci projesindeki program.cs dosyasındaki yöntem içerisinde, olay günlüğüne aktarılacak İzleme GUID'sini ayarlayın.Guid guid = Guid.NewGuid(); Trace.CorrelationManager.ActivityId = guid;Analytics günlüğünü yenileyin ve inceleyin. Olay Kimliği 220 olan bir olayı arayın. Olayı seçin ve önizleme bölmesindeKi Ayrıntılar sekmesine tıklayın. Bu olay, çağıran etkinliğin ilişkilendirme kimliğini içerir.
<Correlation ActivityID="{A066CCF1-8AB3-459B-B62F-F79F957A5036}" />Not
ActivityID'de aynı GUID'ye sahip tüm olaylar bir istekle ilişkilidir. Bu, belirli bir istemciden gelen iletileri belirli bir hizmetle ilişkilendirmek için kullanılabilir. İstemci başka bir hizmet çağırdıysa, aynı istemci ActivityID tarafından tanımlanabilir.
Bazı durumlarda, ActivityID özgün GUID'den yeni bir ActivityID'ye değişebilir. Bu durumda bir aktarım olayı tetiklenir. Bu olay kimliği 499'dur ve olay üst bilgide aşağıdaki verileri içerir.
<Event xmlns="http://schemas.microsoft.com/win/2004/08/events/event"> <System> <Provider Name="Microsoft-Windows-Application Server-Applications" Guid="{c651f5f6-1c0d-492e-8ae1-b4efd7c9d503}" /> <EventID>499</EventID> ... <Correlation ActivityID="{A066CCF1-8AB3-459B-B62F-F79F957A5036}" RelatedActivityID="{85FC0930-9C49-42DA-804B-A7368104BD1B}" /> ... </System> </Event>Not
Aktarım olayı etkin ActivityID değerinin ActivityID olarak belirtilen GUID'den RelatedActivityID olarak belirtilen GUID'ye değişimini kaydeder. Aktarım olayı başlatıldıktan sonra, tüm olaylar yeni GUID'yi ActivityID olarak içerir.