ServiceHealthBehavior Sınıf

Tanım

Sistem durumu uç noktası sağlayan bir Windows Communication Foundation (WCF) hizmet davranışı sağlar.

public ref class ServiceHealthBehavior : System::ServiceModel::Description::ServiceHealthBehaviorBase
public class ServiceHealthBehavior : System.ServiceModel.Description.ServiceHealthBehaviorBase
type ServiceHealthBehavior = class
    inherit ServiceHealthBehaviorBase
Public Class ServiceHealthBehavior
Inherits ServiceHealthBehaviorBase
Devralma
ServiceHealthBehavior

Açıklamalar

Sistem durumu uç noktaları, bir bileşenin sistem durumunu değerlendiren sistem durumu denetimleri gerçekleştirmek için kullanılır. Sistem durumu uç noktaları şu işlemleri yapmak için kullanılabilir:

  • Kritik sistem durumu denetiminde başarısız olan bir işlemi sonlandırmak için düzenleme araçlarını bilgilendirin.

  • Bir hizmetin kullanılabilirliği ve performansı hakkında uyarılar izleyerek ve sağlayarak izleme araçları için erken bir sorun göstergesi görevi görür.

ServiceHealthBehavior , IServiceBehavior'ı genişleten ve 'den ServiceHealthBehaviorBasetüretilen bir WCF hizmet davranışıdır. Koleksiyona örnek ServiceHealthBehavior eklemek ServiceDescription.Behaviors aşağıdakileri sağlar:

  • Hizmet Durumunun Yayımlanması: Hizmet durumu, azaltma sayıları ve kapasite gibi hizmete özgü ayrıntılar, sorgu dizesiyle ?health bir HTTP/GET isteği kullanılarak görüntülenebilir. Hatalı davranan bir WCF hizmetiyle ilgili sorunları giderirken görüntülenen bilgilere kolayca erişmek ve bu bilgilere kolayca erişmek çok önemlidir.

  • HTTP yanıt kodlarının döndürülmesi: Sorgu dizesinde HTTP/GET durum yoklaması isteğinin HTTP durum kodunu belirtebilirsiniz.

Sistem durumu uç noktası yalnızca sistem durumunu izlediği bileşen bağlamında anlamlıdır. Başka bir anlamı veya amacı yoktur. Bu nedenle, sağlığı bileşenin sağlığına bir kanaldır. İstemciler, sistem durumu uç noktası tarafından döndürülen HTTP yanıt kodunun bileşenin tamamı için geçerli olduğunu varsaymalıdır . Bu, yük dengeleyiciler, hizmet bulmaları ve diğerleri gibi sistem durumu denetimlerini kullanan geçerli altyapı araçlarının beklediği davranışla uyumludur.

Sistem durumu uç noktasını etkinleştirme

Sistem durumu uç noktasını kullanıma sunma ve WCF hizmeti sistem durumu bilgilerini yayımlamayı belirtmenin iki yolu vardır:

  • Yapılandırma dosyası kullanarak. Örnek:

    <behaviors>
       <serviceBehaviors>
         <behavior name="DefaultBehavior">
           <serviceHealth httpGetEnabled="true"/>
         </behavior>
       </serviceBehaviors>
    </behaviors>
    
  • Programlı olarak. Aşağıdaki kod parçası, sistem durumu uç noktasını kullanıma açmak için C# kullanır:

    ServiceHost host = new ServiceHost(typeof(Service1),
        new Uri("http://jconde-dev1:81/Service1"));
    ServiceHealthBehavior healthBehavior =
                host.Description.Behaviors.Find<ServiceHealthBehavior>();
    if (healthBehavior == null)
    {
        healthBehavior = new ServiceHealthBehavior();
    }
    //healthBehavior.HttpGetEnabled = false;
    //healthBehavior.HttpsGetEnabled = false;
    host.Description.Behaviors.Add(healthBehavior);
    

Oluşturucular

ServiceHealthBehavior()

ServiceHealthBehavior sınıfının yeni bir örneğini başlatır.

Özellikler

HasXmlSupport

XML yanıt iletilerinin desteklenip desteklenmediğini belirten bir değer alır.

HealthDetailsEnabled

Sistem durumu uç noktasının hizmet ayrıntılarını döndürmesi gerektiğini veya yanıtın içerik içermemesi gerektiğini belirten bir değer alır veya ayarlar.

(Devralındığı yer: ServiceHealthBehaviorBase)
HttpGetBinding

HTTP/Get isteği aracılığıyla sistem durumu almak için kullanılan bağlamayı alır veya ayarlar.

(Devralındığı yer: ServiceHealthBehaviorBase)
HttpGetEnabled

HTTP/Get isteği kullanarak alma için hizmet meta verilerinin yayımlanıp yayımlanmayacağını belirten bir değer alır veya ayarlar.

(Devralındığı yer: ServiceHealthBehaviorBase)
HttpGetUrl

HTTP/Get isteği kullanılarak alınması için meta verilerin yayımlandığı adresi belirten bir Uri alır veya ayarlar.

(Devralındığı yer: ServiceHealthBehaviorBase)
HttpsGetBinding

HTTPS/Get isteği aracılığıyla sistem durumu almak için kullanılan bağlamayı alır veya ayarlar.

(Devralındığı yer: ServiceHealthBehaviorBase)
HttpsGetEnabled

HTTPS/Get isteği kullanarak alma için hizmet meta verilerinin yayımlanıp yayımlanmayacağını belirten bir değer alır veya ayarlar.

(Devralındığı yer: ServiceHealthBehaviorBase)
HttpsGetUrl

HTTPS/Get isteği kullanılarak alınması için meta verilerin yayımlandığı adresi belirten bir Uri alır veya ayarlar.

(Devralındığı yer: ServiceHealthBehaviorBase)
ServiceStartTime

Sistem durumu denetimi hizmetinin başlatıldığını tarih ve saati alır.

(Devralındığı yer: ServiceHealthBehaviorBase)

Yöntemler

AddHttpProperty(Message, HttpStatusCode, Boolean)

Yanıt iletisi için içerik türünü ve HTTP durum kodunu ayarlar.

EnsureHttpStatusCode(Int32)

HTTP durum kodunun 200 ile 599 (dahil) aralığında olduğundan emin olun.

Equals(Object)

Belirtilen nesnenin geçerli nesneye eşit olup olmadığını belirler.

(Devralındığı yer: Object)
GetHashCode()

Varsayılan karma işlevi işlevi görür.

(Devralındığı yer: Object)
GetHttpResponseCode(ServiceHostBase, String[])

Sorgu dizesi alanlarını ayrıştırarak tanımlanan HTTP yanıt kodunu döndürür.

GetServiceHealthSections(ServiceHostBase)

içinde ServiceHealthBehaviortanımlanan nesnelerin bir koleksiyonunu ServiceHealthSection alır.

GetType()

Type Geçerli örneğini alır.

(Devralındığı yer: Object)
GetXmlDocument(ServiceHostBase)

Belirtilen serviceHost ile ilişkili nesneyi seri hale ServiceHealthModel getirir ve XML biçiminde döndürür.

HandleHealthRequest(ServiceHostBase, Message, String[], Message)

Belirtilen istek için yanıt iletisini döndürür.

MemberwiseClone()

Geçerli Objectöğesinin sığ bir kopyasını oluşturur.

(Devralındığı yer: Object)
ToString()

Geçerli nesneyi temsil eden dizeyi döndürür.

(Devralındığı yer: Object)
TryParseBooleanQueryParameter(String, String, Boolean, Boolean)

Boole sorgu dizesi parametresini ayrıştırmaya çalışır ve ayrıştırma işleminin başarılı olup olmadığını belirten bir değer döndürür.

TryParseHttpStatusCodeQueryParameter(String, String, HttpStatusCode, HttpStatusCode)

Bir sorgu dizesi değişkeninin HTTP durum kodunu ayrıştırmaya çalışır ve ayrıştırma işleminin başarılı olup olmadığını gösteren bir değer döndürür.

Belirtik Arabirim Kullanımları

IServiceBehavior.AddBindingParameters(ServiceDescription, ServiceHostBase, Collection<ServiceEndpoint>, BindingParameterCollection)

Kişi uygulamasını desteklemek için bağlama öğelerine özel verileri geçirir.

(Devralındığı yer: ServiceHealthBehaviorBase)
IServiceBehavior.ApplyDispatchBehavior(ServiceDescription, ServiceHostBase)

Çalışma zamanı özellik değerlerini değiştirir veya hata işleyicileri, ileti veya parametre kesme makineleri, güvenlik uzantıları ve diğer özel uzantı nesneleri gibi özel uzantı nesneleri ekler.

(Devralındığı yer: ServiceHealthBehaviorBase)
IServiceBehavior.Validate(ServiceDescription, ServiceHostBase)

Hizmetin başarıyla çalışabildiğini onaylamak için hizmet ana bilgisayarını ve hizmet açıklamasını inceler.

(Devralındığı yer: ServiceHealthBehaviorBase)

Şunlara uygulanır