ServiceHostBase Klasse
Definition
Wichtig
Einige Informationen beziehen sich auf Vorabversionen, die vor dem Release ggf. grundlegend überarbeitet werden. Microsoft übernimmt hinsichtlich der hier bereitgestellten Informationen keine Gewährleistungen, seien sie ausdrücklich oder konkludent.
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
- Abgeleitet
- Implementiert
Beispiele
In diesem Beispiel wird die ServiceHost -Klasse verwendet, die von ServiceHostBaseabgeleitet wird.
// 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)-Dienstprogrammmodell verwendet die ServiceHost -Klasse.
Spezieller Hinweis für Benutzer von Managed C++, die von dieser Klasse ableiten:
Fügen Sie den Bereinigungscode in (On)(Begin)Close (and/or OnAbort) ein, nicht in einen Destruktor.
Vermeiden Sie Destruktoren: Sie bewirken, dass der Compiler IDisposable automatisch generiert.
Vermeiden Sie Member ohne Verweis: Sie können bewirken, dass der Compiler IDisposable automatisch generiert.
Vermeiden Sie Finalizer. Wenn Sie dennoch einen Finalizer verwenden, sollten Sie die Buildwarnung unterdrücken und SuppressFinalize(Object) sowie den Finalizer über (On)(Begin)Close (and/or OnAbort) aufrufen, um das ansonsten automatisch generierte IDisposable-Verhalten zu emulieren.
Konstruktoren
ServiceHostBase() |
Initialisiert eine neue Instanz der ServiceHostBase-Klasse. |
Eigenschaften
Authentication |
Ruft das Dienstauthentifizierungsverhalten ab. |
Authorization |
Ruft das Autorisierungsverhalten für den gehosteten Dienst ab. |
BaseAddresses |
Ruft die vom gehosteten Dienst verwendeten Basisadressen ab. |
ChannelDispatchers |
Ruft die Auflistung der vom Diensthost verwendeten Kanalverteiler ab. |
CloseTimeout |
Ruft das Zeitintervall ab oder legt das Zeitintervall fest, das für das Schließen des Diensthosts zulässig ist. |
Credentials |
Ruft die Anmeldeinformationen für den gehosteten Dienst ab. |
DefaultCloseTimeout |
Ruft das standardmäßige Zeitintervall ab, das für das Schließen des Diensthosts zulässig ist. |
DefaultOpenTimeout |
Ruft das standardmäßige Zeitintervall ab, das 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 durch den gehosteten Dienst implementierten Verträge ab. |
IsDisposed |
Ruft einen Wert ab, mit dem angegeben wird, ob das Kommunikationsobjekt verworfen wurde. (Geerbt von CommunicationObject) |
ManualFlowControlLimit |
Ruft die Datenflusskontrollengrenze für durch den gehosteten Dienst empfangenen Nachrichten ab oder legt sie fest. |
OpenTimeout |
Ruft das Zeitintervall ab oder legt das Zeitintervall fest, das für das Öffnen des Diensthosts zulässig ist. |
State |
Ruft einen Wert ab, der den aktuellen Zustand des Kommunikationsobjekts angibt. (Geerbt von CommunicationObject) |
ThisLock |
Ruft die gegenseitig exklusive Sperre ab, die die Klasseninstanz während eines Zustandsübergangs schützt. (Geerbt von CommunicationObject) |
Methoden
Abort() |
Bewirkt, dass ein Kommunikationsobjekt unmittelbar vom aktuellen Zustand in den Schließzustand übergeht. (Geerbt von CommunicationObject) |
AddBaseAddress(Uri) |
Fügt dem Diensthost eine Basisadresse hinzu. |
AddDefaultEndpoints() |
Fügt Dienstendpunkte für alle Basisadressen in jedem Vertrag im Diensthost mit der Standardbindung hinzu. |
AddServiceEndpoint(ServiceEndpoint) |
Fügt den angegebenen Dienstendpunkt dem gehosteten Dienst hinzu. |
AddServiceEndpoint(String, Binding, String) |
Fügt dem gehosteten Dienst einen Dienstendpunkt mit einem angegebenen Vertrag, einer Bindung und einer Endpunktadresse 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, die er überwacht. |
AddServiceEndpoint(String, Binding, Uri) |
Fügt dem gehosteten Dienst einen Dienstendpunkt mit einem angegebenen Vertrag, einer Bindung und einem URI mit der Endpunktadresse hinzu. |
AddServiceEndpoint(String, Binding, Uri, Uri) |
Fügt dem gehosteten Dienst einen Dienstendpunkt mit dem angegebenen Vertrag, einer Bindung und URIs mit den Endpunkt- und Überwachungsadressen hinzu. |
ApplyConfiguration() |
Lädt die Dienstbeschreibungsinformationen aus der Konfigurationsdatei und wendet sie auf die Laufzeit an, die erstellt wird. |
BeginClose(AsyncCallback, Object) |
Startet einen asynchronen Vorgang, um ein Kommunikationsobjekt zu schließen. (Geerbt von CommunicationObject) |
BeginClose(TimeSpan, AsyncCallback, Object) |
Startet einen asynchronen Vorgang, um ein Kommunikationsobjekt mit einem festgelegten Timeout zu schließen. (Geerbt von CommunicationObject) |
BeginOpen(AsyncCallback, Object) |
Startet einen asynchronen Vorgang, um ein Kommunikationsobjekt zu öffnen. (Geerbt von CommunicationObject) |
BeginOpen(TimeSpan, AsyncCallback, Object) |
Startet einen asynchronen Vorgang, um ein Kommunikationsobjekt innerhalb eines festgelegten Zeitraums zu öffnen. (Geerbt von CommunicationObject) |
Close() |
Bewirkt, dass ein Kommunikationsobjekt vom aktuellen Zustand in den geschlossenen Zustand übergeht. (Geerbt von CommunicationObject) |
Close(TimeSpan) |
Bewirkt den Übergang eines Kommunikationsobjekts innerhalb eines angegebenen Zeitraums vom aktuellen Zustand in den geschlossenen Zustand. (Geerbt von CommunicationObject) |
CreateDescription(IDictionary<String,ContractDescription>) |
Erstellt beim Implementieren in einer abgeleiteten Klasse die Beschreibung des gehosteten Diensts. |
EndClose(IAsyncResult) |
Beendet einen asynchronen Vorgang, um ein Kommunikationsobjekt zu schließen. (Geerbt von CommunicationObject) |
EndOpen(IAsyncResult) |
Beendet einen asynchronen Vorgang, um ein Kommunikationsobjekt zu öffnen. (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 Fehlerzustand übergeht. (Geerbt von CommunicationObject) |
GetCommunicationObjectType() |
Ruft den Typ des Kommunikationsobjekts ab. (Geerbt von CommunicationObject) |
GetHashCode() |
Fungiert als Standardhashfunktion. (Geerbt von Object) |
GetType() |
Ruft den Type der aktuellen Instanz ab. (Geerbt von Object) |
IncrementManualFlowControlLimit(Int32) |
Erhöht die Grenze der Datenflussrate der Nachrichten an den gehosteten Dienst um eine angegebene Schrittweite. |
InitializeDescription(UriSchemeKeyedCollection) |
Erstellt und initialisiert den Diensthost mit dem Vertrag und den 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 des aktuellen Object. (Geerbt von Object) |
OnAbort() |
Bricht den Dienst ab. |
OnBeginClose(TimeSpan, AsyncCallback, Object) |
Startet einen durch das Schließen des Diensthosts aufgerufenen asynchronen Vorgang. |
OnBeginOpen(TimeSpan, AsyncCallback, Object) |
Startet einen durch das Öffnen des Diensthosts aufgerufenen asynchronen Vorgang. |
OnClose(TimeSpan) |
Schließt den gehosteten Dienst, einschließlich Kanalverteiler und zugeordneter Instanzkontexte und Listener. |
OnClosed() |
Gibt die vom Diensthost verwendeten Ressourcen frei. |
OnClosed() |
Wird während des Übergangs eines Kommunikationsobjekts in den Schließzustand aufgerufen. (Geerbt von CommunicationObject) |
OnClosing() |
Wird während des Übergangs eines Kommunikationsobjekts in den Schließzustand aufgerufen. (Geerbt von CommunicationObject) |
OnEndClose(IAsyncResult) |
Schließt einen durch das Schließen des Diensthosts aufgerufenen asynchronen Vorgang ab. |
OnEndOpen(IAsyncResult) |
Schließt einen durch das Öffnen des Diensthosts aufgerufenen asynchronen Vorgang ab. |
OnFaulted() |
Fügt Verarbeitung auf einem Kommunikationsobjekt ein, nachdem aufgrund des Aufrufs eines synchronen Fehlervorgangs der Übergang zum Fehlerzustand stattgefunden hat. (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 den Übergang eines Kommunikationsobjekts aus dem Erstellt-Zustand in den Geöffnet-Zustand. (Geerbt von CommunicationObject) |
Open(TimeSpan) |
Bewirkt den Übergang eines Kommunikationsobjekts innerhalb eines angegebenen Zeitraums vom Erstellt-Zustand in den Geöffnet-Zustand. (Geerbt von CommunicationObject) |
ReleasePerformanceCounters() |
Gibt die Leistungsindikatoren für den Dienst und die Kanalverteiler 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 der State-Eigenschaft nicht auf den Created-Zustand festgelegt wurde. (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
Closed |
Tritt ein, sobald ein Kommunikationsobjekt in den geschlossenen Zustand übergeht. (Geerbt von CommunicationObject) |
Closing |
Tritt ein, sobald ein Kommunikationsobjekt in den Schließzustand übergeht. (Geerbt von CommunicationObject) |
Faulted |
Tritt ein, sobald ein Kommunikationsobjekt in den Fehlerzustand übergeht. (Geerbt von CommunicationObject) |
Opened |
Tritt ein, sobald ein Kommunikationsobjekt in den Geöffnet-Zustand übergeht. (Geerbt von CommunicationObject) |
Opening |
Tritt ein, sobald ein Kommunikationsobjekt in den Öffnungszustand übergeht. (Geerbt von CommunicationObject) |
UnknownMessageReceived |
Tritt ein, wenn eine unbekannte Nachricht empfangen wird. |
Explizite Schnittstellenimplementierungen
IDisposable.Dispose() |
Schließt den Diensthost. |