ServiceHostBase Klasa
Definicja
Ważne
Niektóre informacje odnoszą się do produktu w wersji wstępnej, który może zostać znacząco zmodyfikowany przed wydaniem. Firma Microsoft nie udziela żadnych gwarancji, jawnych lub domniemanych, w odniesieniu do informacji podanych w tym miejscu.
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
- 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. |