ServiceHostBase Classe

Definizione

Estende la classe ServiceHostBase per implementare host che espongono modelli di programmazione personalizzati.Extends the ServiceHostBase class to implement hosts that expose custom programming models.

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à
ServiceHostBase
Derivato
Implementazioni

Esempi

In questo esempio viene utilizzata la classe ServiceHost derivata da ServiceHostBase.This sample uses the ServiceHost class, which is derived from 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

Utilizzare la classe ServiceHostBase per creare host che forniscono un modello di programmazione personalizzato.Use the ServiceHostBase class to create hosts that provide a custom programming model. Il modello di programmazione del servizio Windows Communication Foundation (WCF) ServiceHost utilizza la classe.The Windows Communication Foundation (WCF) service programming model uses the ServiceHost class.

Nota speciale in caso di derivazione da questa classe in C++ gestito:Special note for Managed C++ users deriving from this class:

  • Inserire il codice di pulizia in (On)(Begin)Close (e/o OnAbort), non in un distruttore.Put your cleanup code in (On)(Begin)Close (and/or OnAbort), not in a destructor.

  • Evitare i distruttori perché comportano la generazione automatica di IDisposable da parte del compilatore.Avoid destructors; they cause the compiler to auto-generate IDisposable.

  • Evitare membri non di riferimento perché possono comportare la generazione automatica di IDisposable da parte del compilatore.Avoid non-reference members; they can cause the compiler to auto-generate IDisposable.

  • 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.Avoid finalizers; but if you include one, you should suppress the build warning and call SuppressFinalize(Object) and the finalizer itself from (On)(Begin)Close (and/or OnAbort) to emulate what would have been the auto-generated IDisposable behavior.

Costruttori

ServiceHostBase()

Inizializza una nuova istanza della classe ServiceHostBase.Initializes a new instance of the ServiceHostBase class.

Proprietà

Authentication

Ottiene il comportamento di autenticazione.Gets the service authentication behavior.

Authorization

Ottiene il comportamento dell'autorizzazione per il servizio ospitato.Gets the authorization behavior for the service hosted.

BaseAddresses

Ottiene gli indirizzi di base utilizzati dal servizio ospitato.Gets the base addresses used by the hosted service.

ChannelDispatchers

Ottiene la raccolta di ChannelDispatcher utilizzati dall'host del servizio.Gets the collection of channel dispatchers used by the service host.

CloseTimeout

Ottiene o imposta l'intervallo di tempo consentito per la chiusura dell'host del servizio.Gets or sets the interval of time allowed for the service host to close.

Credentials

Ottiene le credenziali per il servizio ospitato.Gets the credential for the service hosted.

DefaultCloseTimeout

Ottiene l'intervallo di tempo predefinito consentito per la chiusura dell'host del servizio.Gets the default interval of time allowed for the service host to close.

DefaultOpenTimeout

Ottiene l'intervallo di tempo predefinito consentito per l'apertura dell'host del servizio.Gets the default interval of time allowed for the service host to open.

Description

Ottiene la descrizione del servizio ospitato.Gets the description of the service hosted.

Extensions

Ottiene le estensioni per l'host del servizio specificato corrente.Gets the extensions for the current specified service host.

ImplementedContracts

Recupera i contratti implementati dal servizio ospitato.Retrieves the contracts implemented by the service hosted.

IsDisposed

Ottiene un valore che indica se l'oggetto di comunicazione è stato eliminato.Gets a value that indicates whether the communication object has been disposed.

(Ereditato da CommunicationObject)
ManualFlowControlLimit

Ottiene o imposta il limite di controllo di flusso per i messaggi ricevuti dal servizio ospitato.Gets or sets the flow control limit for messages received by the service hosted.

OpenTimeout

Ottiene o imposta l'intervallo di tempo consentito per l'apertura dell'host del servizio.Gets or sets the interval of time allowed for the service host to open.

State

Ottiene un valore che indica lo stato corrente dell'oggetto di comunicazione.Gets a value that indicates the current state of the communication object.

(Ereditato da CommunicationObject)
ThisLock

Ottiene il blocco a esclusione reciproca che protegge l'istanza della classe durante una transizione di stato.Gets the mutually exclusive lock that protects the class instance during a state transition.

(Ereditato da CommunicationObject)

Metodi

Abort()

Determina la transizione immediata di un oggetto di comunicazione dallo stato corrente allo stato di chiusura.Causes a communication object to transition immediately from its current state into the closing state.

(Ereditato da CommunicationObject)
AddBaseAddress(Uri)

Aggiunge un indirizzo di base all'host del servizio.Adds a base address to the service host.

AddDefaultEndpoints()

Aggiunge endpoint di servizio per tutti gli indirizzi di base in ogni contratto trovato nell'host del servizio con l'associazione predefinita.Adds service endpoints for all base addresses in each contract found in the service host with the default binding.

AddServiceEndpoint(ServiceEndpoint)

Aggiunge l'endpoint del servizio specificato al servizio ospitato.Adds the specified service endpoint to the hosted service.

AddServiceEndpoint(String, Binding, String)

Consente di aggiungere al servizio ospitato un endpoint di servizio con il contratto, l'associazione e l'indirizzo endpoint specificati.Adds a service endpoint to the hosted service with a specified contract, binding, and endpoint address.

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.Adds a service endpoint to the hosted service with a specified contract, binding, endpoint address and URI that contains the address at which it listens.

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.Adds a service endpoint to the hosted service with a specified contract, binding, and a URI that contains the endpoint address.

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.Adds a service endpoint to the hosted service with the specified contract, binding, and URIs that contain the endpoint and listening addresses.

ApplyConfiguration()

Carica le informazioni di descrizione del servizio dal file di configurazione e le applica al runtime che viene creato.Loads the service description information from the configuration file and applies it to the runtime being constructed.

BeginClose(AsyncCallback, Object)

Consente di iniziare un'operazione asincrona finalizzata a chiudere un oggetto di comunicazione.Begins an asynchronous operation to close a communication object.

(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.Begins an asynchronous operation to close a communication object with a specified timeout.

(Ereditato da CommunicationObject)
BeginOpen(AsyncCallback, Object)

Consente di iniziare un'operazione asincrona finalizzata ad aprire un oggetto di comunicazione.Begins an asynchronous operation to open a communication object.

(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.Begins an asynchronous operation to open a communication object within a specified interval of time.

(Ereditato da CommunicationObject)
Close()

Comporta la transizione di un oggetto di comunicazione dallo stato corrente allo stato di chiusura.Causes a communication object to transition from its current state into the closed state.

(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.Causes a communication object to transition from its current state into the closed state within a specified interval of time.

(Ereditato da CommunicationObject)
CreateDescription(IDictionary<String,ContractDescription>)

Una volta implementato in una classe derivata, crea la descrizione del servizio ospitato.When implemented in a derived class, creates the description of the hosted service.

EndClose(IAsyncResult)

Consente di completare un'operazione asincrona finalizzata a chiudere un oggetto di comunicazione.Completes an asynchronous operation to close a communication object.

(Ereditato da CommunicationObject)
EndOpen(IAsyncResult)

Consente di completare un'operazione asincrona finalizzata ad aprire un oggetto di comunicazione.Completes an asynchronous operation to open a communication object.

(Ereditato da CommunicationObject)
Equals(Object)

Determina se l'oggetto specificato è uguale all'oggetto corrente.Determines whether the specified object is equal to the current object.

(Ereditato da Object)
Fault()

Determina la transizione di un oggetto di comunicazione dallo stato corrente allo stato Faulted.Causes a communication object to transition from its current state into the faulted state.

(Ereditato da CommunicationObject)
GetCommunicationObjectType()

Ottiene il tipo di oggetto di comunicazione.Gets the type of communication object.

(Ereditato da CommunicationObject)
GetHashCode()

Funge da funzione hash predefinita.Serves as the default hash function.

(Ereditato da Object)
GetType()

Ottiene l'oggetto Type dell'istanza corrente.Gets the Type of the current instance.

(Ereditato da Object)
IncrementManualFlowControlLimit(Int32)

Aumenta il limite sulla velocità di flusso dei messaggi verso il servizio ospitato in base a un incremento specificato.Increases the limit on the flow rate of messages to the hosted service by a specified increment.

InitializeDescription(UriSchemeKeyedCollection)

Crea e inizializza l'host del servizio con le descrizioni del contratto e del servizio.Creates and initializes the service host with the contract and service descriptions.

InitializeRuntime()

Inizializza il runtime per l'host del servizio.Initializes the runtime for the service host.

LoadConfigurationSection(ServiceElement)

Carica l'elemento del servizio dal file di configurazione del servizio ospitato.Loads the service element from the configuration file of the hosted service.

MemberwiseClone()

Crea una copia superficiale dell'oggetto Object corrente.Creates a shallow copy of the current Object.

(Ereditato da Object)
OnAbort()

Interrompe il servizio.Aborts the service.

OnBeginClose(TimeSpan, AsyncCallback, Object)

Avvia un'operazione asincrona richiamata durante la chiusura dell'host del servizio.Begins an asynchronous operation invoked on the close of the service host.

OnBeginOpen(TimeSpan, AsyncCallback, Object)

Avvia un'operazione asincrona richiamata all'apertura dell'host del servizio.Begins an asynchronous operation invoked on the opening of the service host.

OnClose(TimeSpan)

Chiude il servizio ospitato, compresi i ChannelDispatcher e i contesti di istanza e i listener associati.Closes down the hosted service, including their channel dispatchers and associated instance contexts and listeners.

OnClosed()

Rilascia le risorse utilizzate dall'host del servizio.Releases resources used by the service host.

OnClosing()

Viene chiamato durante la transizione di un oggetto di comunicazione allo stato di chiusura.Invoked during the transition of a communication object into the closing state.

(Ereditato da CommunicationObject)
OnEndClose(IAsyncResult)

Completa un'operazione asincrona richiamata alla chiusura dell'host del servizio.Completes an asynchronous operation invoked on the closing of the service host.

OnEndOpen(IAsyncResult)

Completa un'operazione asincrona richiamata all'apertura dell'host del servizio.Completes an asynchronous operation invoked on the opening of the service host.

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.Inserts processing on a communication object after it transitions to the faulted state due to the invocation of a synchronous fault operation.

(Ereditato da CommunicationObject)
OnOpen(TimeSpan)

Apre i ChannelDispatcher.Opens the channel dispatchers.

OnOpened()

Ottiene le credenziali e l'autenticazione del servizio e il comportamento dell'autorizzazione per il servizio ospitato.Gets the service credentials,service authentication and authorization behavior for the hosted service.

OnOpening()

Viene chiamato durante la transizione di un oggetto di comunicazione allo stato Opening.Invoked during the transition of a communication object into the opening state.

(Ereditato da CommunicationObject)
Open()

Comporta la transizione di un oggetto di comunicazione dallo stato di creazione allo stato di apertura.Causes a communication object to transition from the created state into the opened state.

(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.Causes a communication object to transition from the created state into the opened state within a specified interval of time.

(Ereditato da CommunicationObject)
ReleasePerformanceCounters()

Rilascia i contatori delle prestazioni del servizio e dei ChannelDispatcher per il servizio ospitato.Releases the service and channel dispatcher performance counters for the hosted service.

SetEndpointAddress(ServiceEndpoint, String)

Imposta l'indirizzo dell'endpoint specificato sul valore specificato.Sets the endpoint address of the specified endpoint to the specified address.

ThrowIfDisposed()

Se l'oggetto di comunicazione è stato eliminato, genera un'eccezione.Throws an exception if the communication object is disposed.

(Ereditato da CommunicationObject)
ThrowIfDisposedOrImmutable()

Se la proprietà State dell'oggetto di comunicazione non è impostata su Created, genera un'eccezione.Throws an exception if the communication object the State property is not set to the Created state.

(Ereditato da CommunicationObject)
ThrowIfDisposedOrNotOpen()

Se l'oggetto di comunicazione non si trova nello stato Opened, genera un'eccezione.Throws an exception if the communication object is not in the Opened state.

(Ereditato da CommunicationObject)
ToString()

Restituisce una stringa che rappresenta l'oggetto corrente.Returns a string that represents the current object.

(Ereditato da Object)

Eventi

Closed

Si verifica quando un oggetto di comunicazione esegue la transizione allo stato Closed.Occurs when a communication object transitions into the closed state.

(Ereditato da CommunicationObject)
Closing

Si verifica quando un oggetto di comunicazione esegue la transizione allo stato Closing.Occurs when a communication object transitions into the closing state.

(Ereditato da CommunicationObject)
Faulted

Si verifica quando un oggetto di comunicazione esegue la transizione allo stato Faulted.Occurs when a communication object transitions into the faulted state.

(Ereditato da CommunicationObject)
Opened

Si verifica quando un oggetto di comunicazione esegue la transizione allo stato Opened.Occurs when a communication object transitions into the opened state.

(Ereditato da CommunicationObject)
Opening

Si verifica quando un oggetto di comunicazione esegue la transizione allo stato Opening.Occurs when a communication object transitions into the opening state.

(Ereditato da CommunicationObject)
UnknownMessageReceived

Si verifica quando viene ricevuto un messaggio sconosciuto.Occurs when an unknown message is received.

Implementazioni dell'interfaccia esplicita

IDisposable.Dispose()

Chiude l'host del servizio.Closes the service host.

Si applica a