ServiceHostBase Klasse

Definition

Erweitert die ServiceHostBase Klasse, um Hosts zu implementieren, die benutzerdefinierte Programmiermodelle verfügbar machen.

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)
Vererbung
ServiceHostBase
Abgeleitet
Implementiert

Beispiele

In diesem Beispiel wird die ServiceHost Klasse verwendet, die von ServiceHostBase.

// 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

Hinweise

Verwenden Sie die ServiceHostBase Klasse, um Hosts zu erstellen, die ein benutzerdefiniertes Programmiermodell bereitstellen. Das Windows Communication Foundation (WCF)-Dienstprogrammiermodell verwendet die klasse ServiceHost.

Besondere Notiz für verwaltete C++-Benutzer, die von dieser Klasse abgeleitet werden:

  • Setzen Sie den Bereinigungscode in (On)(Begin)Close (und/oder OnAbort) und nicht in einen Destruktor.
  • Vermeiden Sie Destruktoren; sie führen dazu, dass der Compiler automatisch generiert IDisposablewird.
  • Vermeiden Sie Nichtverweismitglieder; sie können dazu führen, dass der Compiler automatisch generiert IDisposablewird.
  • Vermeiden Sie Finalisierer; Wenn Sie jedoch eine einschließen, sollten Sie die Buildwarnung und den Aufruf und SuppressFinalize(Object) den Finalizer selbst von (On)(Begin)Close (und/oder OnAbort) unterdrücken, um zu emulieren, was das automatisch generierte IDisposable Verhalten wäre.

Konstruktoren

Name Beschreibung
ServiceHostBase()

Initialisiert eine neue Instanz der ServiceHostBase-Klasse.

Eigenschaften

Name Beschreibung
Authentication

Ruft das Dienstauthentifizierungsverhalten ab.

Authorization

Ruft das Autorisierungsverhalten für den gehosteten Dienst ab.

BaseAddresses

Ruft die Basisadressen ab, die vom gehosteten Dienst verwendet werden.

ChannelDispatchers

Ruft die Sammlung von Kanalverteilern ab, die vom Diensthost verwendet werden.

CloseTimeout

Ruft das Zeitintervall ab, das für das Schließen des Diensthosts zulässig ist, oder legt dieses fest.

Credentials

Ruft die Anmeldeinformationen für den gehosteten Dienst ab.

DefaultCloseTimeout

Ruft das Standardintervall der Zeit ab, die für das Schließen des Diensthosts zulässig ist.

DefaultOpenTimeout

Ruft das Standardintervall der Zeit ab, die für das Öffnen des Diensthosts zulässig ist.

Description

Ruft die Beschreibung des gehosteten Diensts ab.

Extensions

Ruft die Erweiterungen für den aktuellen angegebenen Diensthost ab.

ImplementedContracts

Ruft die Verträge ab, die vom gehosteten Dienst implementiert werden.

IsDisposed

Ruft einen Wert ab, der angibt, ob das Kommunikationsobjekt verworfen wurde.

(Geerbt von CommunicationObject)
ManualFlowControlLimit

Ruft den Ablaufsteuerungsgrenzwert für Nachrichten ab, die vom gehosteten Dienst empfangen werden, oder legt diese fest.

OpenTimeout

Dient zum Abrufen oder Festlegen des Zeitintervalls, das für das Öffnen des Diensthosts zulässig ist.

State

Ruft einen Wert ab, der den aktuellen Status des Kommunikationsobjekts angibt.

(Geerbt von CommunicationObject)
ThisLock

Ruft die sich gegenseitig ausschließende Sperre ab, die die Klasseninstanz während eines Zustandsübergangs schützt.

(Geerbt von CommunicationObject)

Methoden

Name Beschreibung
Abort()

Bewirkt, dass ein Kommunikationsobjekt sofort vom aktuellen Zustand in den Schließen-Zustand wechselt.

(Geerbt von CommunicationObject)
AddBaseAddress(Uri)

Fügt dem Diensthost eine Basisadresse hinzu.

AddDefaultEndpoints()

Fügt Dienstendpunkte für alle Basisadressen in jedem Vertrag hinzu, der im Diensthost mit der Standardbindung gefunden wurde.

AddServiceEndpoint(ServiceEndpoint)

Fügt dem gehosteten Dienst den angegebenen Dienstendpunkt hinzu.

AddServiceEndpoint(String, Binding, String, Uri)

Fügt dem gehosteten Dienst einen Dienstendpunkt mit einem angegebenen Vertrag, einer Bindung, einer Endpunktadresse und einem URI hinzu, der die Adresse enthält, an der er lauscht.

AddServiceEndpoint(String, Binding, String)

Fügt dem gehosteten Dienst einen Dienstendpunkt mit einer angegebenen Vertrags-, Bindungs- und Endpunktadresse hinzu.

AddServiceEndpoint(String, Binding, Uri, Uri)

Fügt dem gehosteten Dienst einen Dienstendpunkt mit den angegebenen Vertrags-, Bindungs- und URIs hinzu, die den Endpunkt und die Überwachungsadressen enthalten.

AddServiceEndpoint(String, Binding, Uri)

Fügt dem gehosteten Dienst einen Dienstendpunkt mit einem angegebenen Vertrag, einer Bindung und einem URI hinzu, der die Endpunktadresse enthält.

ApplyConfiguration()

Lädt die Dienstbeschreibungsinformationen aus der Konfigurationsdatei und wendet sie auf die erstellte Laufzeit an.

BeginClose(AsyncCallback, Object)

Startet einen asynchronen Vorgang zum Schließen eines Kommunikationsobjekts.

(Geerbt von CommunicationObject)
BeginClose(TimeSpan, AsyncCallback, Object)

Startet einen asynchronen Vorgang zum Schließen eines Kommunikationsobjekts mit einem angegebenen Timeout.

(Geerbt von CommunicationObject)
BeginOpen(AsyncCallback, Object)

Startet einen asynchronen Vorgang zum Öffnen eines Kommunikationsobjekts.

(Geerbt von CommunicationObject)
BeginOpen(TimeSpan, AsyncCallback, Object)

Startet einen asynchronen Vorgang, um ein Kommunikationsobjekt innerhalb eines bestimmten Zeitintervalls zu öffnen.

(Geerbt von CommunicationObject)
Close()

Bewirkt, dass ein Kommunikationsobjekt vom aktuellen Zustand in den geschlossenen Zustand wechselt.

(Geerbt von CommunicationObject)
Close(TimeSpan)

Bewirkt, dass ein Kommunikationsobjekt innerhalb eines bestimmten Zeitintervalls vom aktuellen Zustand in den geschlossenen Zustand wechselt.

(Geerbt von CommunicationObject)
CreateDescription(IDictionary<String,ContractDescription>)

Wenn sie in einer abgeleiteten Klasse implementiert wird, wird die Beschreibung des gehosteten Diensts erstellt.

EndClose(IAsyncResult)

Schließt einen asynchronen Vorgang zum Schließen eines Kommunikationsobjekts ab.

(Geerbt von CommunicationObject)
EndOpen(IAsyncResult)

Schließt einen asynchronen Vorgang zum Öffnen eines Kommunikationsobjekts ab.

(Geerbt von CommunicationObject)
Equals(Object)

Bestimmt, ob das angegebene Objekt gleich dem aktuellen Objekt ist.

(Geerbt von Object)
Fault()

Bewirkt, dass ein Kommunikationsobjekt vom aktuellen Zustand in den fehlerhaften Zustand wechselt.

(Geerbt von CommunicationObject)
GetCommunicationObjectType()

Ruft den Typ des Kommunikationsobjekts ab.

(Geerbt von CommunicationObject)
GetHashCode()

Dient als Standardhashfunktion.

(Geerbt von Object)
GetType()

Ruft die Type der aktuellen Instanz ab.

(Geerbt von Object)
IncrementManualFlowControlLimit(Int32)

Erhöht den Grenzwert für die Flussrate von Nachrichten an den gehosteten Dienst um einen angegebenen Inkrement.

InitializeDescription(UriSchemeKeyedCollection)

Erstellt und initialisiert den Diensthost mit den Vertrags- und Dienstbeschreibungen.

InitializeRuntime()

Initialisiert die Laufzeit für den Diensthost.

LoadConfigurationSection(ServiceElement)

Lädt das Dienstelement aus der Konfigurationsdatei des gehosteten Diensts.

MemberwiseClone()

Erstellt eine flache Kopie der aktuellen Object.

(Geerbt von Object)
OnAbort()

Bricht den Dienst ab.

OnBeginClose(TimeSpan, AsyncCallback, Object)

Startet einen asynchronen Vorgang, der beim Schließen des Diensthosts aufgerufen wird.

OnBeginOpen(TimeSpan, AsyncCallback, Object)

Startet einen asynchronen Vorgang, der beim Öffnen des Diensthosts aufgerufen wird.

OnClose(TimeSpan)

Schließt den gehosteten Dienst, einschließlich ihrer Kanalverteiler und zugehöriger Instanzenkontexte und Listener.

OnClosed()

Gibt Ressourcen frei, die vom Diensthost verwendet werden.

OnClosed()

Wird während des Übergangs eines Kommunikationsobjekts in den Abschlusszustand aufgerufen.

(Geerbt von CommunicationObject)
OnClosing()

Wird während des Übergangs eines Kommunikationsobjekts in den Abschlusszustand aufgerufen.

(Geerbt von CommunicationObject)
OnEndClose(IAsyncResult)

Schließt einen asynchronen Vorgang ab, der beim Schließen des Diensthosts aufgerufen wird.

OnEndOpen(IAsyncResult)

Schließt einen asynchronen Vorgang ab, der beim Öffnen des Diensthosts aufgerufen wird.

OnFaulted()

Fügt die Verarbeitung in ein Kommunikationsobjekt ein, nachdem es aufgrund des Aufrufs eines synchronen Fehlervorgangs in den fehlerhaften Zustand wechselt.

(Geerbt von CommunicationObject)
OnOpen(TimeSpan)

Öffnet die Kanalverteiler.

OnOpened()

Ruft die Dienstanmeldeinformationen, die Dienstauthentifizierung und das Autorisierungsverhalten für den gehosteten Dienst ab.

OnOpening()

Wird während des Übergangs eines Kommunikationsobjekts in den Öffnungszustand aufgerufen.

(Geerbt von CommunicationObject)
Open()

Bewirkt, dass ein Kommunikationsobjekt vom erstellten Zustand in den geöffneten Zustand wechselt.

(Geerbt von CommunicationObject)
Open(TimeSpan)

Bewirkt, dass ein Kommunikationsobjekt innerhalb eines bestimmten Zeitintervalls vom erstellten Zustand in den geöffneten Zustand wechselt.

(Geerbt von CommunicationObject)
ReleasePerformanceCounters()

Gibt die Leistungsindikatoren für dienst- und kanal dispatcher für den gehosteten Dienst frei.

SetEndpointAddress(ServiceEndpoint, String)

Legt die Endpunktadresse des angegebenen Endpunkts auf die angegebene Adresse fest.

ThrowIfDisposed()

Löst eine Ausnahme aus, wenn das Kommunikationsobjekt verworfen wird.

(Geerbt von CommunicationObject)
ThrowIfDisposedOrImmutable()

Löst eine Ausnahme aus, wenn das Kommunikationsobjekt, das die State Eigenschaft nicht auf den Created Zustand festgelegt ist.

(Geerbt von CommunicationObject)
ThrowIfDisposedOrNotOpen()

Löst eine Ausnahme aus, wenn sich das Kommunikationsobjekt nicht im Opened Zustand befindet.

(Geerbt von CommunicationObject)
ToString()

Gibt eine Zeichenfolge zurück, die das aktuelle Objekt darstellt.

(Geerbt von Object)

Ereignisse

Name Beschreibung
Closed

Tritt auf, wenn ein Kommunikationsobjekt in den geschlossenen Zustand wechselt.

(Geerbt von CommunicationObject)
Closing

Tritt auf, wenn ein Kommunikationsobjekt in den Schließen-Zustand wechselt.

(Geerbt von CommunicationObject)
Faulted

Tritt auf, wenn ein Kommunikationsobjekt in den fehlerhaften Zustand wechselt.

(Geerbt von CommunicationObject)
Opened

Tritt auf, wenn ein Kommunikationsobjekt in den geöffneten Zustand wechselt.

(Geerbt von CommunicationObject)
Opening

Tritt auf, wenn ein Kommunikationsobjekt in den Öffnungszustand wechselt.

(Geerbt von CommunicationObject)
UnknownMessageReceived

Tritt auf, wenn eine unbekannte Nachricht empfangen wird.

Explizite Schnittstellenimplementierungen

Name Beschreibung
IDisposable.Dispose()

Schließt den Diensthost.

Gilt für: