Partager via


ServiceHostBase Classe

Définition

Étend la classe ServiceHostBase pour implémenter des hôtes exposant 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 du service Windows Communication Foundation (WCF) utilise la ServiceHost classe .

Remarque spéciale destinée aux utilisateurs C++ managés dérivés de cette classe :

  • Placez votre code de nettoyage dans (On)(Begin)Close (et/ou OnAbort), pas dans un destructeur.

  • Évitez les destructeurs ; ils provoquent la génération automatique de IDisposable par le compilateur.

  • Évitez les membres sans référence ; ils peuvent provoquer la génération automatique de IDisposable par le compilateur.

  • Évitez les finaliseurs ; si vous en incluez un, vous devrez supprimer l'avertissement de génération et appeler SuppressFinalize(Object) et le finaliseur proprement dit à partir de (On)(Begin)Close (et/ou OnAbort) pour émuler ce qui aurait été le comportement IDisposable généré automatiquement.

Constructeurs

ServiceHostBase()

Initialise une nouvelle instance de la classe ServiceHostBase.

Propriétés

Authentication

Obtient le comportement d'authentification du service.

Authorization

Obtient le comportement d'autorisation pour le service hébergé.

BaseAddresses

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

ChannelDispatchers

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

CloseTimeout

Obtient ou définit l'intervalle de temps pendant lequel la fermeture de l'hôte du service est autorisée.

Credentials

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

DefaultCloseTimeout

Obtient l'intervalle de temps par défaut pendant lequel la fermeture de l'hôte du service est autorisée.

DefaultOpenTimeout

Obtient l'intervalle de temps par défaut pendant lequel l'ouverture de l'hôte du service est autorisée.

Description

Obtient la description du service hébergé.

Extensions

Obtient les extensions pour l'hôte du service actuellement spécifié.

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 pendant lequel l'ouverture de l'hôte du service est autorisée.

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

Abort()

Provoque la transition immédiate d'un objet de communication de son état actuel à l'état de fermeture.

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

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

AddDefaultEndpoints()

Ajoute des points de terminaison de service pour toutes les adresses de base dans 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)

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, 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 contenant l'adresse à partir de laquelle il écoute.

AddServiceEndpoint(String, Binding, Uri)

Ajoute un point de terminaison de service au service hébergé avec un contrat, une liaison et un URI contenant l’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 contenant les adresses d’écoute et de point de terminaison.

ApplyConfiguration()

Charge les informations de description du service à partir du fichier de configuration et les 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'attente 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 à l'état fermé.

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

Provoque la transition d'un objet de communication de son état actuel à 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 à l'état d'erreur.

(Hérité de CommunicationObject)
GetCommunicationObjectType()

Obtient le type d'objet de communication.

(Hérité de CommunicationObject)
GetHashCode()

Fait office de fonction de hachage par défaut.

(Hérité de Object)
GetType()

Obtient le Type de l'instance actuelle.

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

Augmente la limite du flux de messages vers le service hébergé d'un incrément spécifié.

InitializeDescription(UriSchemeKeyedCollection)

Crée et initialise l'hôte du service à l'aide des descriptions du contrat et du service.

InitializeRuntime()

Initialise le runtime pour l'hôte du 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 Object actuel.

(Hérité de Object)
OnAbort()

Abandonne le service.

OnBeginClose(TimeSpan, AsyncCallback, Object)

Lance une opération asynchrone appelée à la fermeture de l'hôte du service.

OnBeginOpen(TimeSpan, AsyncCallback, Object)

Lance une opération asynchrone appelée à l'ouverture de l'hôte du service.

OnClose(TimeSpan)

Ferme le service hébergé, y compris ses 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 du service.

OnClosed()

Appelé pendant la transition d'un objet de communication à l'état de fermeture.

(Hérité de CommunicationObject)
OnClosing()

Appelé pendant la transition d'un objet de communication à l'état de fermeture.

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

Exécute une opération asynchrone appelée à la fermeture de l'hôte du service.

OnEndOpen(IAsyncResult)

Exécute une opération asynchrone appelée à l'ouverture de l'hôte du service.

OnFaulted()

Insère le traitement sur un objet de communication après sa transition vers l’état d’erreur 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 et le comportement d'autorisation et d'authentification du service pour le service hébergé.

OnOpening()

Appelé pendant la transition d'un objet de communication à l'état d'ouverture.

(Hérité de CommunicationObject)
Open()

Provoque la transition d'un objet de communication de l'état créé à l'état ouvert.

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

Provoque la transition d'un objet de communication de l'état créé à l'état ouvert dans un intervalle de temps spécifié.

(Hérité de CommunicationObject)
ReleasePerformanceCounters()

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

SetEndpointAddress(ServiceEndpoint, String)

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

ThrowIfDisposed()

Renvoie une exception si l'objet de communication est supprimé.

(Hérité de CommunicationObject)
ThrowIfDisposedOrImmutable()

Renvoie une exception si la propriété State de l'objet de communication n'a pas pour valeur l'état Created.

(Hérité de CommunicationObject)
ThrowIfDisposedOrNotOpen()

Renvoie 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

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 de fermeture.

(Hérité de CommunicationObject)
Faulted

Se produit lorsqu'un objet de communication passe à l'état d'erreur.

(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

IDisposable.Dispose()

Ferme l'hôte du service.

S’applique à