ServiceHostBase Klas

Definitie

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
ServiceHostBase
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.

Van toepassing op