Sdílet prostřednictvím


ServiceHealthBehavior Třída

Definice

Poskytuje chování služby WCF (Windows Communication Foundation), která poskytuje koncový bod stavu.

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
Dědičnost
ServiceHealthBehavior

Poznámky

Koncové body stavu se používají k provádění kontrol stavu, které vyhodnocují stav komponenty. Koncové body stavu se dají použít k:

  • Oznámit orchestračním nástrojům ukončení procesu, který selhává při kritické kontrole stavu.

  • Slouží jako počáteční indikátor problému pro monitorovací nástroje sledování sledováním a poskytováním upozornění na dostupnost a výkon služby.

ServiceHealthBehavior je chování služby WCF, které rozšiřuje IServiceBehavior a je odvozen z ServiceHealthBehaviorBase. ServiceHealthBehavior Přidání instance do ServiceDescription.Behaviors kolekce umožňuje následující:

  • Publikování služby Service Health: Podrobnosti specifické pro službu, jako je stav služby, počty omezení a kapacita, je možné zobrazit pomocí požadavku HTTP/GET s řetězcem ?health dotazu. Znalost a snadný přístup k zobrazeným informacím má při řešení potíží se špatnou službou WCF zásadní význam.

  • Vrácení kódů odpovědí HTTP: V řetězci dotazu můžete zadat stavový kód HTTP pro požadavek sondy stavu HTTP/GET.

Koncový bod stavu je smysluplný pouze v kontextu komponenty, jejíž stav monitoruje. Nemá žádný jiný význam ani účel. Jeho stav je tedy spojením se stavem komponenty. Klienti by měli předpokládat, že kód odpovědi HTTP vrácený koncovým bodem stavu je použitelný pro celou komponentu. To je kompatibilní s chováním očekávaným aktuálními nástroji infrastruktury, které využívají kontroly stavu, jako jsou nástroje pro vyrovnávání zatížení, zjišťování služeb a další.

Povolení koncového bodu stavu

Existují dva způsoby, jak určit, jak zveřejnit koncový bod stavu a publikovat informace o stavu služby WCF:

  • Pomocí konfiguračního souboru. Příklad:

    <behaviors>
       <serviceBehaviors>
         <behavior name="DefaultBehavior">
           <serviceHealth httpGetEnabled="true"/>
         </behavior>
       </serviceBehaviors>
    </behaviors>
    
  • Programově. Následující fragment kódu používá jazyk C# ke zveřejnění koncového bodu stavu:

    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);
    

Konstruktory

ServiceHealthBehavior()

Inicializuje novou instanci ServiceHealthBehavior třídy .

Vlastnosti

HasXmlSupport

Získá hodnotu, která označuje, zda jsou podporovány zprávy odpovědi XML.

HealthDetailsEnabled

Získá nebo nastaví hodnotu, která určuje, jestli má koncový bod stavu vrátit podrobnosti o službě nebo jestli má odpověď obsahovat žádný obsah.

(Zděděno od ServiceHealthBehaviorBase)
HttpGetBinding

Získá nebo nastaví vazbu, která se používá pro načtení stavu prostřednictvím požadavku HTTP nebo Get.

(Zděděno od ServiceHealthBehaviorBase)
HttpGetEnabled

Získá nebo nastaví hodnotu, která určuje, zda publikovat metadata služby pro načtení pomocí požadavku HTTP nebo Get.

(Zděděno od ServiceHealthBehaviorBase)
HttpGetUrl

Získá nebo nastaví identifikátor URI, který určuje adresu, na kterou jsou metadata publikována pro načtení pomocí požadavku HTTP/Get.

(Zděděno od ServiceHealthBehaviorBase)
HttpsGetBinding

Získá nebo nastaví vazbu, která se používá pro načtení stavu prostřednictvím požadavku HTTPS nebo Get.

(Zděděno od ServiceHealthBehaviorBase)
HttpsGetEnabled

Získá nebo nastaví hodnotu, která určuje, zda publikovat metadata služby pro načtení pomocí požadavku HTTPS nebo Get.

(Zděděno od ServiceHealthBehaviorBase)
HttpsGetUrl

Získá nebo nastaví identifikátor URI, který určuje adresu, na kterou se metadata publikují pro načtení pomocí požadavku HTTPS/Get.

(Zděděno od ServiceHealthBehaviorBase)
ServiceStartTime

Získá datum a čas spuštění služby kontroly stavu.

(Zděděno od ServiceHealthBehaviorBase)

Metody

AddHttpProperty(Message, HttpStatusCode, Boolean)

Nastaví typ obsahu a stavový kód HTTP pro zprávu odpovědi.

EnsureHttpStatusCode(Int32)

Ujistěte se, že je stavový kód HTTP v rozsahu 200 až 599 (včetně).

Equals(Object)

Určí, zda se zadaný objekt rovná aktuálnímu objektu.

(Zděděno od Object)
GetHashCode()

Slouží jako výchozí hashovací funkce.

(Zděděno od Object)
GetHttpResponseCode(ServiceHostBase, String[])

Analyzuje pole řetězce dotazu a vrátí definovaný kód odpovědi HTTP.

GetServiceHealthSections(ServiceHostBase)

Získá kolekci ServiceHealthSection objektů definovaných v objektu ServiceHealthBehavior.

GetType()

Type Získá z aktuální instance.

(Zděděno od Object)
GetXmlDocument(ServiceHostBase)

Serializuje ServiceHealthModel objekt přidružený k zadané serviceHost a vrátí jej ve formátu XML.

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

Vrátí zprávu odpovědi na zadaný požadavek.

MemberwiseClone()

Vytvoří mělkou kopii aktuálního Objectsouboru .

(Zděděno od Object)
ToString()

Vrátí řetězec, který představuje aktuální objekt.

(Zděděno od Object)
TryParseBooleanQueryParameter(String, String, Boolean, Boolean)

Pokusí se parsovat logický parametr řetězce dotazu a vrátí hodnotu, která označuje, jestli byla operace analýzy úspěšná.

TryParseHttpStatusCodeQueryParameter(String, String, HttpStatusCode, HttpStatusCode)

Pokusí se parsovat stavový kód HTTP proměnné řetězce dotazu a vrátí hodnotu, která označuje, jestli byla operace parsování úspěšná.

Explicitní implementace rozhraní

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

Předává vlastní data prvkům vazby pro podporu implementace kontaktu.

(Zděděno od ServiceHealthBehaviorBase)
IServiceBehavior.ApplyDispatchBehavior(ServiceDescription, ServiceHostBase)

Změní hodnoty vlastností za běhu nebo vloží vlastní rozšiřující objekty, jako jsou obslužné rutiny chyb, zachytávání zpráv nebo parametrů, rozšíření zabezpečení a další vlastní objekty rozšíření.

(Zděděno od ServiceHealthBehaviorBase)
IServiceBehavior.Validate(ServiceDescription, ServiceHostBase)

Zkontroluje hostitele služby a popis služby a ověří, že se služba úspěšně spustí.

(Zděděno od ServiceHealthBehaviorBase)

Platí pro