ServiceHostBase Classe
Définition
Important
Certaines informations portent sur la préversion du produit qui est susceptible d’être en grande partie modifiée avant sa publication. Microsoft exclut toute garantie, expresse ou implicite, concernant les informations fournies ici.
É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
- 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. |