ServiceHostBase Classe

Définition

Étend la ServiceHostBase classe pour implémenter des hôtes qui exposent des modèles de programmation personnalisés.

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)
Héritage
ServiceHostBase
Dérivé
Implémente

Exemples

Cet exemple utilise la ServiceHost classe, qui est dérivée de 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

Remarques

Utilisez la ServiceHostBase classe pour créer des hôtes qui fournissent un modèle de programmation personnalisé. Le modèle de programmation de service Windows Communication Foundation (WCF) utilise la classe ServiceHost.

Remarque spéciale pour les utilisateurs C++ managés dérivant de cette classe :

  • Placez votre code de nettoyage dans (On)(Begin)Close (et/ou OnAbort), et non dans un destructeur.
  • Évitez les destructeurs ; ils provoquent la génération IDisposableautomatique du compilateur.
  • Évitez les membres non référencés ; ils peuvent entraîner la génération IDisposableautomatique du compilateur.
  • Évitez les finaliseurs ; mais si vous en incluez un, vous devez supprimer l’avertissement et l’appel SuppressFinalize(Object) de build et le finaliseur lui-même de (On)(Begin)Close (et/ou OnAbort) pour émuler ce qui aurait été le comportement généré automatiquement IDisposable .

Constructeurs

Nom Description
ServiceHostBase()

Initialise une nouvelle instance de la classe ServiceHostBase.

Propriétés

Nom Description
Authentication

Obtient le comportement d’authentification du service.

Authorization

Obtient le comportement d’autorisation du service hébergé.

BaseAddresses

Obtient les adresses de base utilisées par le service hébergé.

ChannelDispatchers

Obtient la collection de répartiteurs de canaux utilisés par l’hôte de service.

CloseTimeout

Obtient ou définit l’intervalle de temps autorisé pour que l’hôte de service se ferme.

Credentials

Obtient les informations d’identification du service hébergé.

DefaultCloseTimeout

Obtient l’intervalle de temps par défaut autorisé pour que l’hôte de service se ferme.

DefaultOpenTimeout

Obtient l’intervalle de temps par défaut autorisé pour que l’hôte de service s’ouvre.

Description

Obtient la description du service hébergé.

Extensions

Obtient les extensions de l’hôte de service spécifié actuel.

ImplementedContracts

Récupère les contrats implémentés par le service hébergé.

IsDisposed

Obtient une valeur qui indique si l’objet de communication a été supprimé.

(Hérité de CommunicationObject)
ManualFlowControlLimit

Obtient ou définit la limite de contrôle de flux pour les messages reçus par le service hébergé.

OpenTimeout

Obtient ou définit l’intervalle de temps autorisé pour que l’hôte de service s’ouvre.

State

Obtient une valeur qui indique l’état actuel de l’objet de communication.

(Hérité de CommunicationObject)
ThisLock

Obtient le verrou mutuellement exclusif qui protège l’instance de classe pendant une transition d’état.

(Hérité de CommunicationObject)

Méthodes

Nom Description
Abort()

Provoque la transition immédiate d’un objet de communication de son état actuel vers l’état fermant.

(Hérité de CommunicationObject)
AddBaseAddress(Uri)

Ajoute une adresse de base à l’hôte de service.

AddDefaultEndpoints()

Ajoute des points de terminaison de service pour toutes les adresses de base de chaque contrat trouvé dans l’hôte de service avec la liaison par défaut.

AddServiceEndpoint(ServiceEndpoint)

Ajoute le point de terminaison de service spécifié au service hébergé.

AddServiceEndpoint(String, Binding, String, Uri)

Ajoute un point de terminaison de service au service hébergé avec un contrat, une liaison, une adresse de point de terminaison et un URI spécifiés qui contient l’adresse à laquelle il écoute.

AddServiceEndpoint(String, Binding, String)

Ajoute un point de terminaison de service au service hébergé avec un contrat, une liaison et une adresse de point de terminaison spécifiés.

AddServiceEndpoint(String, Binding, Uri, Uri)

Ajoute un point de terminaison de service au service hébergé avec le contrat, la liaison et les URI spécifiés qui contiennent le point de terminaison et les adresses d’écoute.

AddServiceEndpoint(String, Binding, Uri)

Ajoute un point de terminaison de service au service hébergé avec un contrat, une liaison et un URI spécifiés qui contient l’adresse du point de terminaison.

ApplyConfiguration()

Charge les informations de description du service à partir du fichier de configuration et l’applique au runtime en cours de construction.

BeginClose(AsyncCallback, Object)

Commence une opération asynchrone pour fermer un objet de communication.

(Hérité de CommunicationObject)
BeginClose(TimeSpan, AsyncCallback, Object)

Commence une opération asynchrone pour fermer un objet de communication avec un délai d’expiration spécifié.

(Hérité de CommunicationObject)
BeginOpen(AsyncCallback, Object)

Commence une opération asynchrone pour ouvrir un objet de communication.

(Hérité de CommunicationObject)
BeginOpen(TimeSpan, AsyncCallback, Object)

Commence une opération asynchrone pour ouvrir un objet de communication dans un intervalle de temps spécifié.

(Hérité de CommunicationObject)
Close()

Provoque la transition d’un objet de communication de son état actuel vers l’état fermé.

(Hérité de CommunicationObject)
Close(TimeSpan)

Provoque la transition d’un objet de communication de son état actuel vers l’état fermé dans un intervalle de temps spécifié.

(Hérité de CommunicationObject)
CreateDescription(IDictionary<String,ContractDescription>)

En cas d’implémentation dans une classe dérivée, crée la description du service hébergé.

EndClose(IAsyncResult)

Termine une opération asynchrone pour fermer un objet de communication.

(Hérité de CommunicationObject)
EndOpen(IAsyncResult)

Termine une opération asynchrone pour ouvrir un objet de communication.

(Hérité de CommunicationObject)
Equals(Object)

Détermine si l’objet spécifié est égal à l’objet actuel.

(Hérité de Object)
Fault()

Provoque la transition d’un objet de communication de son état actuel vers l’état défectueux.

(Hérité de CommunicationObject)
GetCommunicationObjectType()

Obtient le type d’objet de communication.

(Hérité de CommunicationObject)
GetHashCode()

Sert de fonction de hachage par défaut.

(Hérité de Object)
GetType()

Obtient la Type de l’instance actuelle.

(Hérité de Object)
IncrementManualFlowControlLimit(Int32)

Augmente la limite du débit de messages vers le service hébergé par incrément spécifié.

InitializeDescription(UriSchemeKeyedCollection)

Crée et initialise l’hôte de service avec les descriptions de contrat et de service.

InitializeRuntime()

Initialise le runtime pour l’hôte de service.

LoadConfigurationSection(ServiceElement)

Charge l’élément de service à partir du fichier de configuration du service hébergé.

MemberwiseClone()

Crée une copie superficielle du Objectactuel.

(Hérité de Object)
OnAbort()

Abandonne le service.

OnBeginClose(TimeSpan, AsyncCallback, Object)

Commence une opération asynchrone appelée à la fermeture de l’hôte de service.

OnBeginOpen(TimeSpan, AsyncCallback, Object)

Commence une opération asynchrone appelée lors de l’ouverture de l’hôte de service.

OnClose(TimeSpan)

Ferme le service hébergé, y compris leurs répartiteurs de canal et les contextes d’instance et les écouteurs associés.

OnClosed()

Libère les ressources utilisées par l’hôte de service.

OnClosed()

Appelé pendant la transition d’un objet de communication dans l’état fermant.

(Hérité de CommunicationObject)
OnClosing()

Appelé pendant la transition d’un objet de communication dans l’état fermant.

(Hérité de CommunicationObject)
OnEndClose(IAsyncResult)

Termine une opération asynchrone appelée lors de la fermeture de l’hôte de service.

OnEndOpen(IAsyncResult)

Termine une opération asynchrone appelée lors de l’ouverture de l’hôte de service.

OnFaulted()

Insère le traitement sur un objet de communication après qu’il passe à l’état défectueux en raison de l’appel d’une opération d’erreur synchrone.

(Hérité de CommunicationObject)
OnOpen(TimeSpan)

Ouvre les répartiteurs de canal.

OnOpened()

Obtient les informations d’identification du service, l’authentification du service et le comportement d’autorisation pour le service hébergé.

OnOpening()

Appelé pendant la transition d’un objet de communication dans l’état d’ouverture.

(Hérité de CommunicationObject)
Open()

Provoque la transition d’un objet de communication entre l’état créé et l’état ouvert.

(Hérité de CommunicationObject)
Open(TimeSpan)

Provoque la transition d’un objet de communication entre l’état créé et l’état ouvert dans un intervalle de temps spécifié.

(Hérité de CommunicationObject)
ReleasePerformanceCounters()

Libère les compteurs de performances du service et du répartiteur de canal pour le service hébergé.

SetEndpointAddress(ServiceEndpoint, String)

Définit l’adresse de point de terminaison du point de terminaison spécifié sur l’adresse spécifiée.

ThrowIfDisposed()

Lève une exception si l’objet de communication est supprimé.

(Hérité de CommunicationObject)
ThrowIfDisposedOrImmutable()

Lève une exception si l’objet de communication que la State propriété n’est pas définie sur l’état Created .

(Hérité de CommunicationObject)
ThrowIfDisposedOrNotOpen()

Lève une exception si l’objet de communication n’est pas dans l’état Opened .

(Hérité de CommunicationObject)
ToString()

Retourne une chaîne qui représente l’objet actuel.

(Hérité de Object)

Événements

Nom Description
Closed

Se produit lorsqu’un objet de communication passe à l’état fermé.

(Hérité de CommunicationObject)
Closing

Se produit lorsqu’un objet de communication passe à l’état fermant.

(Hérité de CommunicationObject)
Faulted

Se produit lorsqu’un objet de communication passe à l’état défectueux.

(Hérité de CommunicationObject)
Opened

Se produit lorsqu’un objet de communication passe à l’état ouvert.

(Hérité de CommunicationObject)
Opening

Se produit lorsqu’un objet de communication passe à l’état d’ouverture.

(Hérité de CommunicationObject)
UnknownMessageReceived

Se produit lorsqu’un message inconnu est reçu.

Implémentations d’interfaces explicites

Nom Description
IDisposable.Dispose()

Ferme l’hôte de service.

S’applique à