ServiceHostBase Classe
Definizione
Importante
Alcune informazioni sono relative alla release non definitiva del prodotto, che potrebbe subire modifiche significative prima della release definitiva. Microsoft non riconosce alcuna garanzia, espressa o implicita, in merito alle informazioni qui fornite.
Estende la classe ServiceHostBase per implementare host che espongono modelli di programmazione personalizzati.
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)
- Ereditarietà
- Derivato
- Implementazioni
Esempio
Questo esempio usa la ServiceHost classe, derivata da 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
Commenti
Usare la ServiceHostBase classe per creare host che forniscono un modello di programmazione personalizzato. Il modello di programmazione del servizio Windows Communication Foundation (WCF) usa la ServiceHost classe .
Nota speciale in caso di derivazione da questa classe in C++ gestito:
Inserire il codice di pulizia in (On)(Begin)Close (e/o OnAbort), non in un distruttore.
Evitare i distruttori perché comportano la generazione automatica di IDisposable da parte del compilatore.
Evitare membri non di riferimento perché possono comportare la generazione automatica di IDisposable da parte del compilatore.
Evitare i finalizzatori. Se tuttavia si include un finalizzatore, è necessario annullare l'avviso di compilazione e chiamare il metodo SuppressFinalize(Object) e il finalizzatore stesso mediante (On)(Begin)Close (e/o OnAbort) al fine di emulare il comportamento dell'interfaccia IDisposable che sarebbe stata generata automaticamente.
Costruttori
ServiceHostBase() |
Inizializza una nuova istanza della classe ServiceHostBase. |
Proprietà
Authentication |
Ottiene il comportamento di autenticazione. |
Authorization |
Ottiene il comportamento dell'autorizzazione per il servizio ospitato. |
BaseAddresses |
Ottiene gli indirizzi di base utilizzati dal servizio ospitato. |
ChannelDispatchers |
Ottiene la raccolta di ChannelDispatcher utilizzati dall'host del servizio. |
CloseTimeout |
Ottiene o imposta l'intervallo di tempo consentito per la chiusura dell'host del servizio. |
Credentials |
Ottiene le credenziali per il servizio ospitato. |
DefaultCloseTimeout |
Ottiene l'intervallo di tempo predefinito consentito per la chiusura dell'host del servizio. |
DefaultOpenTimeout |
Ottiene l'intervallo di tempo predefinito consentito per l'apertura dell'host del servizio. |
Description |
Ottiene la descrizione del servizio ospitato. |
Extensions |
Ottiene le estensioni per l'host del servizio specificato corrente. |
ImplementedContracts |
Recupera i contratti implementati dal servizio ospitato. |
IsDisposed |
Ottiene un valore che indica se l'oggetto di comunicazione è stato eliminato. (Ereditato da CommunicationObject) |
ManualFlowControlLimit |
Ottiene o imposta il limite di controllo di flusso per i messaggi ricevuti dal servizio ospitato. |
OpenTimeout |
Ottiene o imposta l'intervallo di tempo consentito per l'apertura dell'host del servizio. |
State |
Ottiene un valore che indica lo stato corrente dell'oggetto di comunicazione. (Ereditato da CommunicationObject) |
ThisLock |
Ottiene il blocco a esclusione reciproca che protegge l'istanza della classe durante una transizione di stato. (Ereditato da CommunicationObject) |
Metodi
Abort() |
Determina la transizione immediata di un oggetto di comunicazione dallo stato corrente allo stato di chiusura. (Ereditato da CommunicationObject) |
AddBaseAddress(Uri) |
Aggiunge un indirizzo di base all'host del servizio. |
AddDefaultEndpoints() |
Aggiunge endpoint di servizio per tutti gli indirizzi di base in ogni contratto trovato nell'host del servizio con l'associazione predefinita. |
AddServiceEndpoint(ServiceEndpoint) |
Aggiunge l'endpoint del servizio specificato al servizio ospitato. |
AddServiceEndpoint(String, Binding, String) |
Consente di aggiungere al servizio ospitato un endpoint di servizio con il contratto, l'associazione e l'indirizzo endpoint specificati. |
AddServiceEndpoint(String, Binding, String, Uri) |
Aggiunge un endpoint di servizio al servizio ospitato con il contratto, l'associazione e l'indirizzo endpoint specificati nonché l'URI contenente l'indirizzo su cui è in ascolto. |
AddServiceEndpoint(String, Binding, Uri) |
Consente di aggiungere al servizio ospitato un endpoint di servizio con il contratto, l'associazione e l'URI contenente l'indirizzo endpoint specificati. |
AddServiceEndpoint(String, Binding, Uri, Uri) |
Aggiunge al servizio ospitato un endpoint di servizio con il contratto, l'associazione e gli URI contenenti gli indirizzi endpoint e di ascolto specificati. |
ApplyConfiguration() |
Carica le informazioni di descrizione del servizio dal file di configurazione e le applica al runtime che viene creato. |
BeginClose(AsyncCallback, Object) |
Consente di iniziare un'operazione asincrona finalizzata a chiudere un oggetto di comunicazione. (Ereditato da CommunicationObject) |
BeginClose(TimeSpan, AsyncCallback, Object) |
Consente di iniziare un'operazione asincrona finalizzata a chiudere un oggetto di comunicazione entro un determinato intervallo di tempo. (Ereditato da CommunicationObject) |
BeginOpen(AsyncCallback, Object) |
Consente di iniziare un'operazione asincrona finalizzata ad aprire un oggetto di comunicazione. (Ereditato da CommunicationObject) |
BeginOpen(TimeSpan, AsyncCallback, Object) |
Consente di iniziare un'operazione asincrona finalizzata ad aprire un oggetto di comunicazione entro un determinato intervallo di tempo. (Ereditato da CommunicationObject) |
Close() |
Comporta la transizione di un oggetto di comunicazione dallo stato corrente allo stato di chiusura. (Ereditato da CommunicationObject) |
Close(TimeSpan) |
Determina la transizione di un oggetto di comunicazione dallo stato corrente allo stato Closed entro un intervallo di tempo specificato. (Ereditato da CommunicationObject) |
CreateDescription(IDictionary<String,ContractDescription>) |
Una volta implementato in una classe derivata, crea la descrizione del servizio ospitato. |
EndClose(IAsyncResult) |
Consente di completare un'operazione asincrona finalizzata a chiudere un oggetto di comunicazione. (Ereditato da CommunicationObject) |
EndOpen(IAsyncResult) |
Consente di completare un'operazione asincrona finalizzata ad aprire un oggetto di comunicazione. (Ereditato da CommunicationObject) |
Equals(Object) |
Determina se l'oggetto specificato è uguale all'oggetto corrente. (Ereditato da Object) |
Fault() |
Determina la transizione di un oggetto di comunicazione dallo stato corrente allo stato Faulted. (Ereditato da CommunicationObject) |
GetCommunicationObjectType() |
Ottiene il tipo di oggetto di comunicazione. (Ereditato da CommunicationObject) |
GetHashCode() |
Funge da funzione hash predefinita. (Ereditato da Object) |
GetType() |
Ottiene l'oggetto Type dell'istanza corrente. (Ereditato da Object) |
IncrementManualFlowControlLimit(Int32) |
Aumenta il limite sulla velocità di flusso dei messaggi verso il servizio ospitato in base a un incremento specificato. |
InitializeDescription(UriSchemeKeyedCollection) |
Crea e inizializza l'host del servizio con le descrizioni del contratto e del servizio. |
InitializeRuntime() |
Inizializza il runtime per l'host del servizio. |
LoadConfigurationSection(ServiceElement) |
Carica l'elemento del servizio dal file di configurazione del servizio ospitato. |
MemberwiseClone() |
Crea una copia superficiale dell'oggetto Object corrente. (Ereditato da Object) |
OnAbort() |
Interrompe il servizio. |
OnBeginClose(TimeSpan, AsyncCallback, Object) |
Avvia un'operazione asincrona richiamata durante la chiusura dell'host del servizio. |
OnBeginOpen(TimeSpan, AsyncCallback, Object) |
Avvia un'operazione asincrona richiamata all'apertura dell'host del servizio. |
OnClose(TimeSpan) |
Chiude il servizio ospitato, compresi i ChannelDispatcher e i contesti di istanza e i listener associati. |
OnClosed() |
Rilascia le risorse utilizzate dall'host del servizio. |
OnClosed() |
Viene chiamato durante la transizione di un oggetto di comunicazione allo stato di chiusura. (Ereditato da CommunicationObject) |
OnClosing() |
Viene chiamato durante la transizione di un oggetto di comunicazione allo stato di chiusura. (Ereditato da CommunicationObject) |
OnEndClose(IAsyncResult) |
Completa un'operazione asincrona richiamata alla chiusura dell'host del servizio. |
OnEndOpen(IAsyncResult) |
Completa un'operazione asincrona richiamata all'apertura dell'host del servizio. |
OnFaulted() |
Inserisce l'elaborazione in un oggetto di comunicazione dopo che ha eseguito la transizione allo stato Faulted in seguito alla chiamata di un'operazione di errore sincrona. (Ereditato da CommunicationObject) |
OnOpen(TimeSpan) |
Apre i ChannelDispatcher. |
OnOpened() |
Ottiene le credenziali e l'autenticazione del servizio e il comportamento dell'autorizzazione per il servizio ospitato. |
OnOpening() |
Viene chiamato durante la transizione di un oggetto di comunicazione allo stato Opening. (Ereditato da CommunicationObject) |
Open() |
Comporta la transizione di un oggetto di comunicazione dallo stato di creazione allo stato di apertura. (Ereditato da CommunicationObject) |
Open(TimeSpan) |
Comporta la transizione di un oggetto di comunicazione dallo stato di creazione allo stato di apertura entro un determinato intervallo di tempo. (Ereditato da CommunicationObject) |
ReleasePerformanceCounters() |
Rilascia i contatori delle prestazioni del servizio e dei ChannelDispatcher per il servizio ospitato. |
SetEndpointAddress(ServiceEndpoint, String) |
Imposta l'indirizzo dell'endpoint specificato sul valore specificato. |
ThrowIfDisposed() |
Se l'oggetto di comunicazione è stato eliminato, genera un'eccezione. (Ereditato da CommunicationObject) |
ThrowIfDisposedOrImmutable() |
Se la proprietà State dell'oggetto di comunicazione non è impostata su Created, genera un'eccezione. (Ereditato da CommunicationObject) |
ThrowIfDisposedOrNotOpen() |
Se l'oggetto di comunicazione non si trova nello stato Opened, genera un'eccezione. (Ereditato da CommunicationObject) |
ToString() |
Restituisce una stringa che rappresenta l'oggetto corrente. (Ereditato da Object) |
Eventi
Closed |
Si verifica quando un oggetto di comunicazione esegue la transizione allo stato Closed. (Ereditato da CommunicationObject) |
Closing |
Si verifica quando un oggetto di comunicazione esegue la transizione allo stato Closing. (Ereditato da CommunicationObject) |
Faulted |
Si verifica quando un oggetto di comunicazione esegue la transizione allo stato Faulted. (Ereditato da CommunicationObject) |
Opened |
Si verifica quando un oggetto di comunicazione esegue la transizione allo stato Opened. (Ereditato da CommunicationObject) |
Opening |
Si verifica quando un oggetto di comunicazione esegue la transizione allo stato Opening. (Ereditato da CommunicationObject) |
UnknownMessageReceived |
Si verifica quando viene ricevuto un messaggio sconosciuto. |
Implementazioni dell'interfaccia esplicita
IDisposable.Dispose() |
Chiude l'host del servizio. |