Udostępnij za pośrednictwem


ServiceHostBase Klasa

Definicja

Rozszerza klasę w ServiceHostBase celu zaimplementowania hostów, które uwidaczniają niestandardowe modele programowania.

public ref class ServiceHostBase abstract : System::ServiceModel::Channels::CommunicationObject, IDisposable, System::ServiceModel::IExtensibleObject<System::ServiceModel::ServiceHostBase ^>
public abstract class ServiceHostBase : System.ServiceModel.Channels.CommunicationObject, IDisposable, System.ServiceModel.IExtensibleObject<System.ServiceModel.ServiceHostBase>
type ServiceHostBase = class
    inherit CommunicationObject
    interface IExtensibleObject<ServiceHostBase>
    interface IDisposable
Public MustInherit Class ServiceHostBase
Inherits CommunicationObject
Implements IDisposable, IExtensibleObject(Of ServiceHostBase)
Dziedziczenie
ServiceHostBase
Pochodne
Implementuje

Przykłady

W tym przykładzie użyto ServiceHost klasy , która pochodzi z ServiceHostBaseklasy .

// Host the service within this EXE console application.
public static void Main()
{
  using (ServiceHost serviceHost = new ServiceHost(typeof(CalculatorService)))
  {
    try
    {
      // Open the ServiceHost to start listening for messages.
      serviceHost.Open();

        // The service can now be accessed.
      Console.WriteLine("The service is ready.");
      Console.WriteLine("Press <ENTER> to terminate service.");
      Console.ReadLine();

      // Close the ServiceHost.
      serviceHost.Close();
    }
    catch (TimeoutException timeProblem)
    {
      Console.WriteLine(timeProblem.Message);
      Console.ReadLine();
    }
    catch (CommunicationException commProblem)
    {
      Console.WriteLine(commProblem.Message);
      Console.ReadLine();
    }
  }
}
' Host the service within this EXE console application.
Public Shared Sub Main()
    ' Create a ServiceHost for the CalculatorService type and use the base address from config.
    Using svcHost As New ServiceHost(GetType(CalculatorService))
        Try
            ' Open the ServiceHost to start listening for messages.
            svcHost.Open()

            ' The service can now be accessed.
            Console.WriteLine("The service is ready.")
            Console.WriteLine("Press <ENTER> to terminate service.")
            Console.WriteLine()
            Console.ReadLine()

            'Close the ServiceHost.
            svcHost.Close()

        Catch timeout As TimeoutException
            Console.WriteLine(timeout.Message)
            Console.ReadLine()
        Catch commException As CommunicationException
            Console.WriteLine(commException.Message)
            Console.ReadLine()
        End Try
    End Using

End Sub

Uwagi

ServiceHostBase Użyj klasy , aby utworzyć hosty, które udostępniają niestandardowy model programowania. Model programowania usług Windows Communication Foundation (WCF) używa ServiceHost klasy .

Szczególna uwaga dla użytkowników zarządzanych języka C++ pochodnych z tej klasy:

  • Umieść kod oczyszczania w kodzie (On)(Begin)Close (i/lub OnAbort), a nie w destruktorze.

  • Unikaj destruktorów; powodują, że kompilator automatycznie generuje IDisposableelement .

  • Unikaj elementów członkowskich niebędących odwołaniami; mogą spowodować, że kompilator automatycznie wygeneruje IDisposableelement .

  • Unikaj finalizatorów; ale jeśli je uwzględnisz, należy pominąć ostrzeżenie i wywołanie SuppressFinalize(Object) kompilacji oraz sam finalizator z (On)(Begin)Close (i/lub OnAbort), aby naśladować zachowanie generowane IDisposable automatycznie.

Konstruktory

ServiceHostBase()

Inicjuje nowe wystąpienie klasy ServiceHostBase.

Właściwości

Authentication

Pobiera zachowanie uwierzytelniania usługi.

Authorization

Pobiera zachowanie autoryzacji dla usługi hostowanej.

BaseAddresses

Pobiera adresy podstawowe używane przez hostowaną usługę.

ChannelDispatchers

Pobiera kolekcję dyspozytorów kanałów używanych przez hosta usługi.

CloseTimeout

Pobiera lub ustawia interwał czasu dozwolony dla hosta usługi do zamknięcia.

Credentials

Pobiera poświadczenia dla hostowanej usługi.

DefaultCloseTimeout

Pobiera domyślny interwał czasu dozwolony dla hosta usługi do zamknięcia.

DefaultOpenTimeout

Pobiera domyślny interwał czasu dozwolony dla hosta usługi do otwarcia.

Description

Pobiera opis hostowanej usługi.

Extensions

Pobiera rozszerzenia dla bieżącego określonego hosta usługi.

ImplementedContracts

Pobiera kontrakty implementowane przez usługę hostowaną.

IsDisposed

Pobiera wartość wskazującą, czy obiekt komunikacji został usunięty.

(Odziedziczone po CommunicationObject)
ManualFlowControlLimit

Pobiera lub ustawia limit sterowania przepływem dla komunikatów odebranych przez usługę hostowaną.

OpenTimeout

Pobiera lub ustawia interwał czasu dozwolony dla hosta usługi do otwarcia.

State

Pobiera wartość wskazującą bieżący stan obiektu komunikacji.

(Odziedziczone po CommunicationObject)
ThisLock

Pobiera wzajemnie wykluczaną blokadę, która chroni wystąpienie klasy podczas przejścia stanu.

(Odziedziczone po CommunicationObject)

Metody

Abort()

Powoduje natychmiastowe przejście obiektu komunikacyjnego z bieżącego stanu do stanu zamknięcia.

(Odziedziczone po CommunicationObject)
AddBaseAddress(Uri)

Dodaje adres podstawowy do hosta usługi.

AddDefaultEndpoints()

Dodaje punkty końcowe usługi dla wszystkich adresów podstawowych w każdym kontrakcie znajdującym się na hoście usługi z domyślnym powiązaniem.

AddServiceEndpoint(ServiceEndpoint)

Dodaje określony punkt końcowy usługi do hostowanej usługi.

AddServiceEndpoint(String, Binding, String)

Dodaje punkt końcowy usługi do hostowanej usługi z określonym kontraktem, powiązaniem i adresem punktu końcowego.

AddServiceEndpoint(String, Binding, String, Uri)

Dodaje punkt końcowy usługi do hostowanej usługi z określonym kontraktem, powiązaniem, adresem punktu końcowego i identyfikatorem URI zawierającym adres, pod którym nasłuchuje.

AddServiceEndpoint(String, Binding, Uri)

Dodaje punkt końcowy usługi do hostowanej usługi z określonym kontraktem, powiązaniem i identyfikatorem URI zawierającym adres punktu końcowego.

AddServiceEndpoint(String, Binding, Uri, Uri)

Dodaje punkt końcowy usługi do hostowanej usługi z określonym kontraktem, powiązaniem i identyfikatorami URI, które zawierają punkt końcowy i adresy nasłuchiwania.

ApplyConfiguration()

Ładuje informacje o opisie usługi z pliku konfiguracji i stosuje je do tworzonego środowiska uruchomieniowego.

BeginClose(AsyncCallback, Object)

Rozpoczyna operację asynchroniczną, aby zamknąć obiekt komunikacji.

(Odziedziczone po CommunicationObject)
BeginClose(TimeSpan, AsyncCallback, Object)

Rozpoczyna operację asynchroniczną, aby zamknąć obiekt komunikacji z określonym limitem czasu.

(Odziedziczone po CommunicationObject)
BeginOpen(AsyncCallback, Object)

Rozpoczyna operację asynchroniczną, aby otworzyć obiekt komunikacji.

(Odziedziczone po CommunicationObject)
BeginOpen(TimeSpan, AsyncCallback, Object)

Rozpoczyna operację asynchroniczną, aby otworzyć obiekt komunikacji w określonym przedziale czasu.

(Odziedziczone po CommunicationObject)
Close()

Powoduje przejście obiektu komunikacyjnego z bieżącego stanu do stanu zamkniętego.

(Odziedziczone po CommunicationObject)
Close(TimeSpan)

Powoduje przejście obiektu komunikacyjnego z bieżącego stanu do stanu zamkniętego w określonym przedziale czasu.

(Odziedziczone po CommunicationObject)
CreateDescription(IDictionary<String,ContractDescription>)

Po zaimplementowaniu w klasie pochodnej tworzy opis hostowanej usługi.

EndClose(IAsyncResult)

Kończy operację asynchroniczną, aby zamknąć obiekt komunikacji.

(Odziedziczone po CommunicationObject)
EndOpen(IAsyncResult)

Wykonuje operację asynchroniczną, aby otworzyć obiekt komunikacji.

(Odziedziczone po CommunicationObject)
Equals(Object)

Określa, czy dany obiekt jest taki sam, jak bieżący obiekt.

(Odziedziczone po Object)
Fault()

Powoduje przejście obiektu komunikacji z bieżącego stanu do stanu błędu.

(Odziedziczone po CommunicationObject)
GetCommunicationObjectType()

Pobiera typ obiektu komunikacji.

(Odziedziczone po CommunicationObject)
GetHashCode()

Służy jako domyślna funkcja skrótu.

(Odziedziczone po Object)
GetType()

Type Pobiera wartość bieżącego wystąpienia.

(Odziedziczone po Object)
IncrementManualFlowControlLimit(Int32)

Zwiększa limit szybkości przepływu komunikatów do usługi hostowanej przez określony przyrost.

InitializeDescription(UriSchemeKeyedCollection)

Tworzy i inicjuje hosta usługi za pomocą opisów kontraktu i usługi.

InitializeRuntime()

Inicjuje środowisko uruchomieniowe hosta usługi.

LoadConfigurationSection(ServiceElement)

Ładuje element usługi z pliku konfiguracji hostowanej usługi.

MemberwiseClone()

Tworzy płytkią kopię bieżącego Objectelementu .

(Odziedziczone po Object)
OnAbort()

Przerywa usługę.

OnBeginClose(TimeSpan, AsyncCallback, Object)

Rozpoczyna operację asynchroniczną wywoływaną na zamknięciu hosta usługi.

OnBeginOpen(TimeSpan, AsyncCallback, Object)

Rozpoczyna operację asynchroniczną wywoływaną podczas otwierania hosta usługi.

OnClose(TimeSpan)

Zamyka hostowaną usługę, w tym ich dyspozytorów kanałów i skojarzonych kontekstów wystąpień i odbiorników.

OnClosed()

Zwalnia zasoby używane przez hosta usługi.

OnClosed()

Wywoływane podczas przejścia obiektu komunikacyjnego do stanu zamknięcia.

(Odziedziczone po CommunicationObject)
OnClosing()

Wywoływane podczas przejścia obiektu komunikacyjnego do stanu zamknięcia.

(Odziedziczone po CommunicationObject)
OnEndClose(IAsyncResult)

Kończy operację asynchroniczną wywoływaną na zamknięciu hosta usługi.

OnEndOpen(IAsyncResult)

Kończy operację asynchroniczną wywoływaną podczas otwierania hosta usługi.

OnFaulted()

Wstawia przetwarzanie w obiekcie komunikacji po przejściu do stanu błędu z powodu wywołania operacji synchronicznej błędu.

(Odziedziczone po CommunicationObject)
OnOpen(TimeSpan)

Otwiera dyspozytorów kanałów.

OnOpened()

Pobiera poświadczenia usługi, uwierzytelnianie usługi i zachowanie autoryzacji dla hostowanej usługi.

OnOpening()

Wywoływane podczas przejścia obiektu komunikacyjnego do stanu otwarcia.

(Odziedziczone po CommunicationObject)
Open()

Powoduje przejście obiektu komunikacji z utworzonego stanu do stanu otwartego.

(Odziedziczone po CommunicationObject)
Open(TimeSpan)

Powoduje przejście obiektu komunikacji z utworzonego stanu do stanu otwartego w określonym przedziale czasu.

(Odziedziczone po CommunicationObject)
ReleasePerformanceCounters()

Zwalnia liczniki wydajności dyspozytora usług i kanałów dla hostowanej usługi.

SetEndpointAddress(ServiceEndpoint, String)

Ustawia adres punktu końcowego określonego punktu końcowego na określony adres.

ThrowIfDisposed()

Zgłasza wyjątek, jeśli obiekt komunikacji jest usuwany.

(Odziedziczone po CommunicationObject)
ThrowIfDisposedOrImmutable()

Zgłasza wyjątek, jeśli obiekt State komunikacji, dla której właściwość nie jest ustawiona Created .

(Odziedziczone po CommunicationObject)
ThrowIfDisposedOrNotOpen()

Zgłasza wyjątek, jeśli obiekt komunikacji nie znajduje się w Opened stanie.

(Odziedziczone po CommunicationObject)
ToString()

Zwraca ciąg reprezentujący bieżący obiekt.

(Odziedziczone po Object)

Zdarzenia

Closed

Występuje, gdy obiekt komunikacji przechodzi do stanu zamkniętego.

(Odziedziczone po CommunicationObject)
Closing

Występuje, gdy obiekt komunikacji przechodzi do stanu zamknięcia.

(Odziedziczone po CommunicationObject)
Faulted

Występuje, gdy obiekt komunikacji przechodzi do stanu uszkodzonego.

(Odziedziczone po CommunicationObject)
Opened

Występuje, gdy obiekt komunikacji przechodzi do otwartego stanu.

(Odziedziczone po CommunicationObject)
Opening

Występuje, gdy obiekt komunikacji przechodzi do stanu otwierania.

(Odziedziczone po CommunicationObject)
UnknownMessageReceived

Występuje po odebraniu nieznanego komunikatu.

Jawne implementacje interfejsu

IDisposable.Dispose()

Zamyka hosta usługi.

Dotyczy