Aracılığıyla paylaş


Hizmet Hata Ayıklama Davranışı

ServiceDebug örneği, hizmet hata ayıklama davranışı ayarlarının nasıl yapılandırılabildiğini gösterir. Örnek, hizmet sözleşmesini uygulayan Başlarken'iICalculator temel alır. Bu örnek, yapılandırma dosyasındaki hizmet hata ayıklama davranışını açıkça tanımlar. Kodda kesin olarak da yapılabilir.

Bu örnekte istemci bir konsol uygulamasıdır (.exe) ve hizmet Internet Information Services (IIS) tarafından barındırılır.

Not

Bu örnek için kurulum yordamı ve derleme yönergeleri bu konunun sonunda yer alır.

Sunucunun Web.config dosyası, aşağıdaki örnekte gösterildiği gibi yardım sayfasını ve özel durum işlemeyi etkinleştirmek için hizmet hata ayıklama davranışını tanımlar.

<behaviors>
     <serviceBehaviors>
         <behavior name="CalculatorServiceBehavior">
         <!-- WARNING: Setting includeExceptionDetailInFaults = "True" could result in leaking secured server information to the client.-->
         <!-- Please set this to false when deploying -->
             <serviceDebug includeExceptionDetailInFaults="True" httpHelpPageEnabled="True"/>
         </behavior>
     </serviceBehaviors>
</behaviors>

<serviceDebug> , hizmet hata ayıklama davranışı özelliklerinin değiştirilmesine izin veren yapılandırma öğesidir. Kullanıcı aşağıdakilere ulaşmak için bu davranışı değiştirebilir:

  • Bu, özel durum kullanılarak bildirilmese bile hizmetin uygulama kodu tarafından oluşan özel durumları döndürmesine FaultContractAttributeolanak tanır. olarak ayarlanarak includeExceptionDetailInFaultstrueyapılır. Bu ayar, sunucunun beklenmeyen bir özel durum oluşturması durumlarının hatalarını ayıklarken kullanışlıdır.

    Önemli

    Üretim ortamında bu ayarı açmak güvenli değildir. Beklenmeyen bir sunucu özel durumu, istemci için tasarlanmamış bazı bilgilere sahip olabilir ve bu nedenle ayarı includeExceptionDetailsInFaultstrue bilgi sızıntısına neden olabilir.

  • <serviceDebug>, kullanıcının yardım sayfasını etkinleştirmesine veya devre dışı bırakmasına da olanak tanır. Her hizmet isteğe bağlı olarak, hizmet için WSDL'yi almak için uç nokta da dahil olmak üzere hizmet hakkında bilgi içeren bir yardım sayfasını kullanıma açabilir. Bu, olarak ayarlanarak httpHelpPageEnabledtrueetkinleştirilebilir. Bu, yardım sayfasının hizmetin temel adresine bir GET isteğine döndürülebilmesini sağlar. Başka bir öznitelik httpHelpPageUrlayarlayarak bu adresi değiştirebilirsiniz. HTTP yerine HTTPS kullanarak bunu güvenli hale getirebilirsiniz. Bu, ve httpsHelpPageUrlayarlanarak httpsHelpPageEnabled yapılabilir.

Örneği çalıştırdığınızda, işlem istekleri ve yanıtları istemci konsolu penceresinde görüntülenir. İlk üç işlem (Ekle, Çıkar ve Çarp) başarılı olmalıdır. Son işlem ("bölme") sıfıra bölme özel durumuyla başarısız olur.

Örneği ayarlamak, derlemek ve çalıştırmak için

  1. Windows Communication Foundation Örnekleri için Tek Seferlik Kurulum Yordamı'nı gerçekleştirdiğinizden emin olun.

  2. Çözümün C# veya Visual Basic .NET sürümünü oluşturmak için Windows Communication Foundation Örnekleri Oluşturma başlığındaki yönergeleri izleyin.

  3. Örneği tek veya makineler arası bir yapılandırmada çalıştırmak için Windows Communication Foundation Örneklerini Çalıştırma başlığındaki yönergeleri izleyin.