ServiceHostBase Třída
Definice
Důležité
Některé informace platí pro předběžně vydaný produkt, který se může zásadně změnit, než ho výrobce nebo autor vydá. Microsoft neposkytuje žádné záruky, výslovné ani předpokládané, týkající se zde uváděných informací.
Rozšiřuje třídu o ServiceHostBase implementaci hostitelů, kteří zpřístupňují vlastní programovací modely.
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)
- Dědičnost
- Odvozené
- Implementuje
Příklady
Tato ukázka používá ServiceHost třídu, která je odvozena z 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
Poznámky
ServiceHostBase Pomocí třídy vytvořte hostitele, kteří poskytují vlastní programovací model. Programovací model služby WCF (Windows Communication Foundation) používá ServiceHost třídu .
Zvláštní poznámka pro uživatele spravovaného jazyka C++, kteří jsou odvozeni z této třídy:
Vložte kód čištění do (On)(Begin)Close (a/nebo OnAbort), ne do destruktoru.
Vyhněte se destruktorů; způsobí, že kompilátor automaticky vygeneruje IDisposable.
Vyhněte se ne referenčním členům; mohou způsobit, že kompilátor automaticky vygeneruje IDisposable.
Vyhněte se finalizátorům; Pokud ale zahrnete jeden, měli byste potlačit upozornění sestavení a volat SuppressFinalize(Object) a finalizátor samotný z (On)(Begin)Close (a/nebo OnAbort), abyste emulovali, jaké by bylo automaticky vygenerované IDisposable chování.
Konstruktory
ServiceHostBase() |
Inicializuje novou instanci ServiceHostBase třídy. |
Vlastnosti
Authentication |
Získá chování ověřování služby. |
Authorization |
Získá autorizační chování hostované služby. |
BaseAddresses |
Získá základní adresy používané hostovanými službami. |
ChannelDispatchers |
Získá kolekci dispečerů kanálů používaných hostitelem služby. |
CloseTimeout |
Získá nebo nastaví časový interval povolený pro ukončení hostitele služby. |
Credentials |
Získá přihlašovací údaje pro hostované služby. |
DefaultCloseTimeout |
Získá výchozí časový interval povolený pro ukončení hostitele služby. |
DefaultOpenTimeout |
Získá výchozí časový interval povolený pro otevření hostitele služby. |
Description |
Získá popis hostované služby. |
Extensions |
Získá rozšíření pro aktuálního zadaného hostitele služby. |
ImplementedContracts |
Načte kontrakty implementované hostovanou službou. |
IsDisposed |
Získá hodnotu, která označuje, zda komunikační objekt byl odstraněn. (Zděděno od CommunicationObject) |
ManualFlowControlLimit |
Získá nebo nastaví omezení řízení toku pro zprávy přijaté službou hostované. |
OpenTimeout |
Získá nebo nastaví časový interval povolený pro otevření hostitele služby. |
State |
Získá hodnotu, která označuje aktuální stav komunikačního objektu. (Zděděno od CommunicationObject) |
ThisLock |
Získá vzájemně se vylučující zámek, který chrání instanci třídy během přechodu stavu. (Zděděno od CommunicationObject) |
Metody
Abort() |
Způsobí okamžitý přechod komunikačního objektu z aktuálního stavu do koncového stavu. (Zděděno od CommunicationObject) |
AddBaseAddress(Uri) |
Přidá k hostiteli služby základní adresu. |
AddDefaultEndpoints() |
Přidá koncové body služby pro všechny základní adresy v každém kontraktu, který se nachází v hostiteli služby s výchozí vazbou. |
AddServiceEndpoint(ServiceEndpoint) |
Přidá zadaný koncový bod služby do hostované služby. |
AddServiceEndpoint(String, Binding, String) |
Přidá koncový bod služby do hostované služby se zadaným kontraktem, vazbou a adresou koncového bodu. |
AddServiceEndpoint(String, Binding, String, Uri) |
Přidá koncový bod služby do hostované služby se zadaným kontraktem, vazbou, adresou koncového bodu a identifikátorem URI, který obsahuje adresu, na které naslouchá. |
AddServiceEndpoint(String, Binding, Uri) |
Přidá koncový bod služby do hostované služby se zadaným kontraktem, vazbou a identifikátorem URI, který obsahuje adresu koncového bodu. |
AddServiceEndpoint(String, Binding, Uri, Uri) |
Přidá koncový bod služby do hostované služby se zadanými kontrakty, vazbami a identifikátory URI, které obsahují koncové body a adresy naslouchání. |
ApplyConfiguration() |
Načte informace o popisu služby z konfiguračního souboru a použije je na konstruovaný modul runtime. |
BeginClose(AsyncCallback, Object) |
Zahájí asynchronní operaci k zavření komunikačního objektu. (Zděděno od CommunicationObject) |
BeginClose(TimeSpan, AsyncCallback, Object) |
Zahájí asynchronní operaci uzavření komunikačního objektu se zadaným časovým limitem. (Zděděno od CommunicationObject) |
BeginOpen(AsyncCallback, Object) |
Zahájí asynchronní operaci k otevření komunikačního objektu. (Zděděno od CommunicationObject) |
BeginOpen(TimeSpan, AsyncCallback, Object) |
Zahájí asynchronní operaci, která otevře komunikační objekt v zadaném časovém intervalu. (Zděděno od CommunicationObject) |
Close() |
Způsobí přechod komunikačního objektu z aktuálního stavu do uzavřeného stavu. (Zděděno od CommunicationObject) |
Close(TimeSpan) |
Způsobí přechod komunikačního objektu z aktuálního stavu do uzavřeného stavu v zadaném časovém intervalu. (Zděděno od CommunicationObject) |
CreateDescription(IDictionary<String,ContractDescription>) |
Při implementaci v odvozené třídě vytvoří popis hostované služby. |
EndClose(IAsyncResult) |
Dokončí asynchronní operaci k zavření komunikačního objektu. (Zděděno od CommunicationObject) |
EndOpen(IAsyncResult) |
Dokončí asynchronní operaci k otevření komunikačního objektu. (Zděděno od CommunicationObject) |
Equals(Object) |
Určí, zda se zadaný objekt rovná aktuálnímu objektu. (Zděděno od Object) |
Fault() |
Způsobí přechod komunikačního objektu z aktuálního stavu do vadného stavu. (Zděděno od CommunicationObject) |
GetCommunicationObjectType() |
Získá typ komunikačního objektu. (Zděděno od CommunicationObject) |
GetHashCode() |
Slouží jako výchozí hashovací funkce. (Zděděno od Object) |
GetType() |
Získá aktuální Type instanci. (Zděděno od Object) |
IncrementManualFlowControlLimit(Int32) |
Zvyšuje limit rychlosti toku zpráv do hostované služby o zadaný přírůstek. |
InitializeDescription(UriSchemeKeyedCollection) |
Vytvoří a inicializuje hostitele služby s popisem kontraktu a služby. |
InitializeRuntime() |
Inicializuje modul runtime pro hostitele služby. |
LoadConfigurationSection(ServiceElement) |
Načte element služby z konfiguračního souboru hostované služby. |
MemberwiseClone() |
Vytvoří mělkou kopii aktuálního Objectsouboru . (Zděděno od Object) |
OnAbort() |
Službu přeruší. |
OnBeginClose(TimeSpan, AsyncCallback, Object) |
Zahájí asynchronní operaci vyvolanou při zavření hostitele služby. |
OnBeginOpen(TimeSpan, AsyncCallback, Object) |
Spustí asynchronní operaci vyvolanou při otevření hostitele služby. |
OnClose(TimeSpan) |
Zavře hostované služby, včetně jejich dispečerů kanálů a přidružených kontextů instancí a naslouchacích procesů. |
OnClosed() |
Uvolní prostředky používané hostitelem služby. |
OnClosed() |
Vyvolána během přechodu komunikačního objektu do koncového stavu. (Zděděno od CommunicationObject) |
OnClosing() |
Vyvolána během přechodu komunikačního objektu do koncového stavu. (Zděděno od CommunicationObject) |
OnEndClose(IAsyncResult) |
Dokončí asynchronní operaci vyvolanou při zavření hostitele služby. |
OnEndOpen(IAsyncResult) |
Dokončí asynchronní operaci vyvolanou při otevření hostitele služby. |
OnFaulted() |
Vloží zpracování komunikačního objektu poté, co přejde do chybového stavu kvůli vyvolání synchronní operace selhání. (Zděděno od CommunicationObject) |
OnOpen(TimeSpan) |
Otevře dispečery kanálu. |
OnOpened() |
Získá přihlašovací údaje služby, ověřování služby a chování autorizace pro hostované služby. |
OnOpening() |
Vyvolána během přechodu komunikačního objektu do stavu otevření. (Zděděno od CommunicationObject) |
Open() |
Způsobí přechod komunikačního objektu z vytvořeného stavu do otevřeného stavu. (Zděděno od CommunicationObject) |
Open(TimeSpan) |
Způsobí přechod komunikačního objektu z vytvořeného stavu do otevřeného stavu v zadaném časovém intervalu. (Zděděno od CommunicationObject) |
ReleasePerformanceCounters() |
Uvolní čítače výkonu služby a dispečera kanálu pro hostované služby. |
SetEndpointAddress(ServiceEndpoint, String) |
Nastaví adresu koncového bodu zadaného koncového bodu na zadanou adresu. |
ThrowIfDisposed() |
Vyvolá výjimku, pokud je komunikační objekt odstraněn. (Zděděno od CommunicationObject) |
ThrowIfDisposedOrImmutable() |
Vyvolá výjimku, pokud komunikační objekt State vlastnost není nastaven na Created stav. (Zděděno od CommunicationObject) |
ThrowIfDisposedOrNotOpen() |
Vyvolá výjimku, pokud komunikační objekt není ve Opened stavu. (Zděděno od CommunicationObject) |
ToString() |
Vrátí řetězec, který představuje aktuální objekt. (Zděděno od Object) |
Událost
Closed |
Nastane, když komunikační objekt přejde do uzavřeného stavu. (Zděděno od CommunicationObject) |
Closing |
Nastane při přechodu komunikačního objektu do koncového stavu. (Zděděno od CommunicationObject) |
Faulted |
Nastane při přechodu komunikačního objektu do chybového stavu. (Zděděno od CommunicationObject) |
Opened |
Nastane, když komunikační objekt přejde do otevřeného stavu. (Zděděno od CommunicationObject) |
Opening |
Nastane, když komunikační objekt přejde do stavu otevření. (Zděděno od CommunicationObject) |
UnknownMessageReceived |
Nastane při přijetí neznámé zprávy. |
Explicitní implementace rozhraní
IDisposable.Dispose() |
Zavře hostitele služby. |