ServiceHostBase Klas
Definitie
Belangrijk
Bepaalde informatie heeft betrekking op een voorlopige productversie die aanzienlijk kan worden gewijzigd voordat deze wordt uitgebracht. Microsoft biedt geen enkele expliciete of impliciete garanties met betrekking tot de informatie die hier wordt verstrekt.
Breidt de ServiceHostBase klasse uit om hosts te implementeren die aangepaste programmeermodellen beschikbaar maken.
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)
- Overname
- Afgeleid
- Implementeringen
Voorbeelden
In dit voorbeeld wordt de ServiceHost klasse gebruikt, die is afgeleid van 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
Opmerkingen
Gebruik de ServiceHostBase klasse om hosts te maken die een aangepast programmeermodel bieden. Het serviceprogrammeermodel Windows Communication Foundation (WCF) maakt gebruik van de klasse ServiceHost.
Speciale opmerking voor beheerde C++-gebruikers die zijn afgeleid van deze klasse:
- Plaats de opschooncode in (On)(Begin)Close (en/of OnAbort), niet in een destructor.
- Vermijd destructors; ze zorgen ervoor dat de compiler automatisch genereert IDisposable.
- Vermijd niet-referentieleden; ze kunnen ertoe leiden dat de compiler automatisch genereert IDisposable.
- Vermijd finalizers; maar als u er een opneemt, moet u de buildwaarschuwing en -aanroep SuppressFinalize(Object) onderdrukken en de finalizer zelf van (On)(Begin)Close (en/of OnAbort) om te emuleren wat het automatisch gegenereerde IDisposable gedrag zou zijn geweest.
Constructors
| Name | Description |
|---|---|
| ServiceHostBase() |
Initialiseert een nieuw exemplaar van de ServiceHostBase klasse. |
Eigenschappen
| Name | Description |
|---|---|
| Authentication |
Hiermee haalt u het verificatiegedrag van de service op. |
| Authorization |
Hiermee haalt u het autorisatiegedrag voor de gehoste service op. |
| BaseAddresses |
Hiermee haalt u de basisadressen op die worden gebruikt door de gehoste service. |
| ChannelDispatchers |
Hiermee haalt u de verzameling kanaal-dispatchers op die door de servicehost worden gebruikt. |
| CloseTimeout |
Hiermee haalt u het tijdsinterval op dat is toegestaan om de servicehost te sluiten of stelt u deze in. |
| Credentials |
Hiermee haalt u de referentie op voor de service die wordt gehost. |
| DefaultCloseTimeout |
Hiermee haalt u het standaardinterval op dat is toegestaan om de servicehost te sluiten. |
| DefaultOpenTimeout |
Hiermee haalt u het standaardinterval op dat is toegestaan voor de servicehost om te openen. |
| Description |
Hiermee wordt de beschrijving opgehaald van de service die wordt gehost. |
| Extensions |
Hiermee haalt u de extensies voor de huidige opgegeven servicehost op. |
| ImplementedContracts |
Haalt de contracten op die zijn geïmplementeerd door de service die wordt gehost. |
| IsDisposed |
Hiermee wordt een waarde opgehaald die aangeeft of het communicatieobject is verwijderd. (Overgenomen van CommunicationObject) |
| ManualFlowControlLimit |
Hiermee wordt de limiet voor stroombeheer opgehaald of ingesteld voor berichten die worden ontvangen door de service die wordt gehost. |
| OpenTimeout |
Hiermee haalt u het tijdsinterval op dat is toegestaan voor de servicehost om te openen. |
| State |
Hiermee wordt een waarde opgehaald die de huidige status van het communicatieobject aangeeft. (Overgenomen van CommunicationObject) |
| ThisLock |
Hiermee haalt u de wederzijds exclusieve vergrendeling op die het klasse-exemplaar beschermt tijdens een statusovergang. (Overgenomen van CommunicationObject) |
Methoden
| Name | Description |
|---|---|
| Abort() |
Zorgt ervoor dat een communicatieobject onmiddellijk van de huidige status overgaat naar de slotstatus. (Overgenomen van CommunicationObject) |
| AddBaseAddress(Uri) |
Voegt een basisadres toe aan de servicehost. |
| AddDefaultEndpoints() |
Voegt service-eindpunten toe voor alle basisadressen in elk contract dat is gevonden in de servicehost met de standaardbinding. |
| AddServiceEndpoint(ServiceEndpoint) |
Hiermee voegt u het opgegeven service-eindpunt toe aan de gehoste service. |
| AddServiceEndpoint(String, Binding, String, Uri) |
Voegt een service-eindpunt toe aan de gehoste service met een opgegeven contract, binding, eindpuntadres en URI die het adres bevat waarop het luistert. |
| AddServiceEndpoint(String, Binding, String) |
Hiermee voegt u een service-eindpunt toe aan de gehoste service met een opgegeven contract, binding en eindpuntadres. |
| AddServiceEndpoint(String, Binding, Uri, Uri) |
Hiermee voegt u een service-eindpunt toe aan de gehoste service met het opgegeven contract, de binding en de URI's die het eindpunt en de luisteradressen bevatten. |
| AddServiceEndpoint(String, Binding, Uri) |
Voegt een service-eindpunt toe aan de gehoste service met een opgegeven contract, binding en een URI die het eindpuntadres bevat. |
| ApplyConfiguration() |
Laadt de beschrijvingsgegevens van de service uit het configuratiebestand en past deze toe op de runtime die wordt gemaakt. |
| BeginClose(AsyncCallback, Object) |
Hiermee wordt een asynchrone bewerking gestart om een communicatieobject te sluiten. (Overgenomen van CommunicationObject) |
| BeginClose(TimeSpan, AsyncCallback, Object) |
Hiermee wordt een asynchrone bewerking gestart om een communicatieobject met een opgegeven time-out te sluiten. (Overgenomen van CommunicationObject) |
| BeginOpen(AsyncCallback, Object) |
Begint een asynchrone bewerking om een communicatieobject te openen. (Overgenomen van CommunicationObject) |
| BeginOpen(TimeSpan, AsyncCallback, Object) |
Begint een asynchrone bewerking om een communicatieobject binnen een opgegeven tijdsinterval te openen. (Overgenomen van CommunicationObject) |
| Close() |
Zorgt ervoor dat een communicatieobject van de huidige status overgaat naar de gesloten status. (Overgenomen van CommunicationObject) |
| Close(TimeSpan) |
Zorgt ervoor dat een communicatieobject binnen een opgegeven tijdsinterval van de huidige status overgaat naar de gesloten status. (Overgenomen van CommunicationObject) |
| CreateDescription(IDictionary<String,ContractDescription>) |
Wanneer deze wordt geïmplementeerd in een afgeleide klasse, maakt u de beschrijving van de gehoste service. |
| EndClose(IAsyncResult) |
Hiermee voltooit u een asynchrone bewerking om een communicatieobject te sluiten. (Overgenomen van CommunicationObject) |
| EndOpen(IAsyncResult) |
Voltooit een asynchrone bewerking om een communicatieobject te openen. (Overgenomen van CommunicationObject) |
| Equals(Object) |
Bepaalt of het opgegeven object gelijk is aan het huidige object. (Overgenomen van Object) |
| Fault() |
Zorgt ervoor dat een communicatieobject wordt overgezet van de huidige status naar de foutieve status. (Overgenomen van CommunicationObject) |
| GetCommunicationObjectType() |
Hiermee wordt het type communicatieobject opgehaald. (Overgenomen van CommunicationObject) |
| GetHashCode() |
Fungeert als de standaardhashfunctie. (Overgenomen van Object) |
| GetType() |
Hiermee haalt u de Type huidige instantie op. (Overgenomen van Object) |
| IncrementManualFlowControlLimit(Int32) |
Hiermee verhoogt u de limiet voor de stroomsnelheid van berichten naar de gehoste service met een opgegeven verhoging. |
| InitializeDescription(UriSchemeKeyedCollection) |
Hiermee maakt en initialiseert u de servicehost met de contract- en servicebeschrijvingen. |
| InitializeRuntime() |
Initialiseert de runtime voor de servicehost. |
| LoadConfigurationSection(ServiceElement) |
Laadt het service-element uit het configuratiebestand van de gehoste service. |
| MemberwiseClone() |
Hiermee maakt u een ondiepe kopie van de huidige Object. (Overgenomen van Object) |
| OnAbort() |
De service wordt afgebroken. |
| OnBeginClose(TimeSpan, AsyncCallback, Object) |
Hiermee wordt een asynchrone bewerking gestart die wordt aangeroepen bij het sluiten van de servicehost. |
| OnBeginOpen(TimeSpan, AsyncCallback, Object) |
Hiermee wordt een asynchrone bewerking gestart die wordt aangeroepen bij het openen van de servicehost. |
| OnClose(TimeSpan) |
Hiermee sluit u de gehoste service, inclusief de kanaaldispatchers en de bijbehorende instantiecontexten en listeners. |
| OnClosed() |
Publiceert resources die door de servicehost worden gebruikt. |
| OnClosed() |
Aangeroepen tijdens de overgang van een communicatieobject in de slotstatus. (Overgenomen van CommunicationObject) |
| OnClosing() |
Aangeroepen tijdens de overgang van een communicatieobject in de slotstatus. (Overgenomen van CommunicationObject) |
| OnEndClose(IAsyncResult) |
Hiermee wordt een asynchrone bewerking voltooid die wordt aangeroepen bij het sluiten van de servicehost. |
| OnEndOpen(IAsyncResult) |
Hiermee wordt een asynchrone bewerking voltooid die is aangeroepen bij het openen van de servicehost. |
| OnFaulted() |
Hiermee wordt de verwerking van een communicatieobject ingevoegd nadat het is overgeschakeld naar de status Met fouten als gevolg van de aanroep van een synchrone foutbewerking. (Overgenomen van CommunicationObject) |
| OnOpen(TimeSpan) |
Hiermee opent u de kanaalzenders. |
| OnOpened() |
Hiermee haalt u de servicereferenties, serviceverificatie en autorisatiegedrag voor de gehoste service op. |
| OnOpening() |
Aangeroepen tijdens de overgang van een communicatieobject in de openingsstatus. (Overgenomen van CommunicationObject) |
| Open() |
Zorgt ervoor dat een communicatieobject wordt overgezet van de gemaakte status in de geopende status. (Overgenomen van CommunicationObject) |
| Open(TimeSpan) |
Zorgt ervoor dat een communicatieobject binnen een opgegeven tijdsinterval van de gemaakte status overgaat naar de geopende status. (Overgenomen van CommunicationObject) |
| ReleasePerformanceCounters() |
Hiermee worden de prestatiemeteritems voor de service en kanaalzender uitgebracht voor de gehoste service. |
| SetEndpointAddress(ServiceEndpoint, String) |
Hiermee stelt u het eindpuntadres van het opgegeven eindpunt in op het opgegeven adres. |
| ThrowIfDisposed() |
Genereert een uitzondering als het communicatieobject wordt verwijderd. (Overgenomen van CommunicationObject) |
| ThrowIfDisposedOrImmutable() |
Genereert een uitzondering als het communicatieobject de State eigenschap niet is ingesteld op de Created status. (Overgenomen van CommunicationObject) |
| ThrowIfDisposedOrNotOpen() |
Genereert een uitzondering als het communicatieobject niet de Opened status heeft. (Overgenomen van CommunicationObject) |
| ToString() |
Retourneert een tekenreeks die het huidige object vertegenwoordigt. (Overgenomen van Object) |
gebeurtenis
| Name | Description |
|---|---|
| Closed |
Treedt op wanneer een communicatieobject overgaat naar de gesloten status. (Overgenomen van CommunicationObject) |
| Closing |
Treedt op wanneer een communicatieobject overgaat naar de slotstatus. (Overgenomen van CommunicationObject) |
| Faulted |
Treedt op wanneer een communicatieobject overgaat naar de foutieve status. (Overgenomen van CommunicationObject) |
| Opened |
Treedt op wanneer een communicatieobject overgaat naar de geopende status. (Overgenomen van CommunicationObject) |
| Opening |
Treedt op wanneer een communicatieobject overgaat naar de openingsstatus. (Overgenomen van CommunicationObject) |
| UnknownMessageReceived |
Treedt op wanneer een onbekend bericht wordt ontvangen. |
Expliciete interface-implementaties
| Name | Description |
|---|---|
| IDisposable.Dispose() |
Hiermee sluit u de servicehost. |