ServiceHostBase Osztály

Definíció

Kibővíti az osztályt olyan ServiceHostBase gazdagépek implementálásához, amelyek egyéni programozási modelleket tesznek elérhetővé.

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)
Öröklődés
ServiceHostBase
Származtatott
Megvalósítás

Példák

Ez a minta az ServiceHost osztályt használja, amely a következőből ServiceHostBaseszármazik: .

// 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

Megjegyzések

ServiceHostBase Az osztály használatával egyéni programozási modellt biztosító gazdagépeket hozhat létre. A Windows kommunikációs alaprendszer (WCF) szolgáltatás programozási modellje a ServiceHost osztályt használja.

Speciális megjegyzés az osztályból származó felügyelt C++ felhasználók számára:

  • A törlési kódot ne destruktorba, hanem a (Be)(Begin)Close (és/vagy OnAbort) fájlba helyezze.
  • Kerülje a destruktorokat; ezek hatására a fordító automatikusan létrejön IDisposable.
  • Kerülje a nem referenciatagokat; ezek hatására a fordító automatikusan létrejön IDisposable.
  • Kerülje a véglegesítőket; de ha tartalmaz egyet, el kell tiltani a buildre vonatkozó figyelmeztetést és hívást SuppressFinalize(Object) , valamint magát a véglegesítőt a (Be)(Begin)Close (és/vagy OnAbort) helyről, hogy emulálja az automatikusan létrehozott IDisposable viselkedést.

Konstruktorok

Name Description
ServiceHostBase()

Inicializálja a ServiceHostBase osztály új példányát.

Tulajdonságok

Name Description
Authentication

Lekéri a szolgáltatáshitelesítési viselkedést.

Authorization

Lekéri a üzemeltetett szolgáltatás engedélyezési viselkedését.

BaseAddresses

Lekéri a üzemeltetett szolgáltatás által használt alapcímeket.

ChannelDispatchers

Lekéri a szolgáltatásgazda által használt csatornaelosztók gyűjteményét.

CloseTimeout

Lekéri vagy beállítja a szolgáltatásgazda bezárásához engedélyezett időintervallumot.

Credentials

Lekéri az üzemeltetett szolgáltatás hitelesítő adatait.

DefaultCloseTimeout

A szolgáltatás gazdagép bezárásához engedélyezett alapértelmezett időintervallumot kapja meg.

DefaultOpenTimeout

A szolgáltatás gazdagépének megnyitásához engedélyezett alapértelmezett időintervallumot kapja meg.

Description

Lekéri a üzemeltetett szolgáltatás leírását.

Extensions

Lekéri az aktuálisan megadott szolgáltatásgazda bővítményeit.

ImplementedContracts

Lekéri a üzemeltetett szolgáltatás által végrehajtott szerződéseket.

IsDisposed

Olyan értéket kap, amely jelzi, hogy a kommunikációs objektum el lett-e adva.

(Öröklődés forrása CommunicationObject)
ManualFlowControlLimit

Lekéri vagy beállítja az üzemeltetett szolgáltatás által fogadott üzenetek folyamatvezérlési korlátját.

OpenTimeout

Lekéri vagy beállítja a szolgáltatás gazdagép megnyitásához engedélyezett időintervallumot.

State

Lekéri a kommunikációs objektum aktuális állapotát jelző értéket.

(Öröklődés forrása CommunicationObject)
ThisLock

Lekéri a kölcsönösen kizáró zárolást, amely az osztálypéldányt védi az állapotváltás során.

(Öröklődés forrása CommunicationObject)

Metódusok

Name Description
Abort()

A kommunikációs objektum a jelenlegi állapotából azonnal a záró állapotba kerül.

(Öröklődés forrása CommunicationObject)
AddBaseAddress(Uri)

Alapcímet ad hozzá a szolgáltatás gazdagépéhez.

AddDefaultEndpoints()

Szolgáltatásvégpontokat ad hozzá az alapértelmezett kötéssel rendelkező szolgáltatás gazdagépen található összes szerződés összes alapcíméhez.

AddServiceEndpoint(ServiceEndpoint)

Hozzáadja a megadott szolgáltatásvégpontot a üzemeltetett szolgáltatáshoz.

AddServiceEndpoint(String, Binding, String, Uri)

Szolgáltatásvégpontot ad hozzá az üzemeltetett szolgáltatáshoz egy megadott szerződéssel, kötéssel, végpontcímmel és URI-val, amely tartalmazza a figyelés címét.

AddServiceEndpoint(String, Binding, String)

Szolgáltatásvégpontot ad hozzá az üzemeltetett szolgáltatáshoz egy megadott szerződéssel, kötéssel és végpontcímmel.

AddServiceEndpoint(String, Binding, Uri, Uri)

Szolgáltatásvégpontot ad hozzá az üzemeltetett szolgáltatáshoz a végpontot és a figyelési címeket tartalmazó megadott szerződéssel, kötéssel és URI-kkal.

AddServiceEndpoint(String, Binding, Uri)

Szolgáltatásvégpontot ad hozzá az üzemeltetett szolgáltatáshoz egy megadott szerződéssel, kötéssel és a végpontcímet tartalmazó URI-val.

ApplyConfiguration()

Betölti a szolgáltatás leírási adatait a konfigurációs fájlból, és alkalmazza azokat a létrehozandó futtatókörnyezetre.

BeginClose(AsyncCallback, Object)

Elindít egy aszinkron műveletet egy kommunikációs objektum bezárásához.

(Öröklődés forrása CommunicationObject)
BeginClose(TimeSpan, AsyncCallback, Object)

Elindít egy aszinkron műveletet egy kommunikációs objektum meghatározott időtúllépéssel történő bezárásához.

(Öröklődés forrása CommunicationObject)
BeginOpen(AsyncCallback, Object)

Elindít egy aszinkron műveletet egy kommunikációs objektum megnyitásához.

(Öröklődés forrása CommunicationObject)
BeginOpen(TimeSpan, AsyncCallback, Object)

Elindít egy aszinkron műveletet egy kommunikációs objektum meghatározott időintervallumon belüli megnyitásához.

(Öröklődés forrása CommunicationObject)
Close()

A kommunikációs objektum áttér az aktuális állapotáról a zárt állapotba.

(Öröklődés forrása CommunicationObject)
Close(TimeSpan)

A kommunikációs objektum az aktuális állapotáról egy meghatározott időintervallumon belül zárt állapotba vált.

(Öröklődés forrása CommunicationObject)
CreateDescription(IDictionary<String,ContractDescription>)

Származtatott osztályban implementálva létrehozza az üzemeltetett szolgáltatás leírását.

EndClose(IAsyncResult)

Befejez egy aszinkron műveletet egy kommunikációs objektum bezárásához.

(Öröklődés forrása CommunicationObject)
EndOpen(IAsyncResult)

Befejez egy aszinkron műveletet egy kommunikációs objektum megnyitásához.

(Öröklődés forrása CommunicationObject)
Equals(Object)

Meghatározza, hogy a megadott objektum egyenlő-e az aktuális objektummal.

(Öröklődés forrása Object)
Fault()

A kommunikációs objektum az aktuális állapotából a hibás állapotba vált.

(Öröklődés forrása CommunicationObject)
GetCommunicationObjectType()

Lekéri a kommunikációs objektum típusát.

(Öröklődés forrása CommunicationObject)
GetHashCode()

Ez az alapértelmezett kivonatoló függvény.

(Öröklődés forrása Object)
GetType()

Lekéri az Type aktuális példányt.

(Öröklődés forrása Object)
IncrementManualFlowControlLimit(Int32)

Egy megadott növekménysel növeli a üzemeltetett szolgáltatásba küldött üzenetek átviteli sebességére vonatkozó korlátot.

InitializeDescription(UriSchemeKeyedCollection)

Létrehozza és inicializálja a szolgáltatás gazdagépét a szerződéssel és a szolgáltatás leírásával.

InitializeRuntime()

Inicializálja a szolgáltatásgazda futtatókörnyezetét.

LoadConfigurationSection(ServiceElement)

Betölti a szolgáltatáselemet a üzemeltetett szolgáltatás konfigurációs fájljából.

MemberwiseClone()

Az aktuális Objectpéldány sekély másolatát hozza létre.

(Öröklődés forrása Object)
OnAbort()

Megszakítja a szolgáltatást.

OnBeginClose(TimeSpan, AsyncCallback, Object)

Elindít egy aszinkron műveletet, amelyet a szolgáltatásgazda bezárása után hív meg.

OnBeginOpen(TimeSpan, AsyncCallback, Object)

Elindít egy aszinkron műveletet, amelyet a szolgáltatásgazda megnyitásakor hív meg.

OnClose(TimeSpan)

Bezárja az üzemeltetett szolgáltatást, beleértve a csatorna diszpécsereit, valamint a társított példánykörnyezeteket és figyelőket.

OnClosed()

Felszabadítja a szolgáltatásgazda által használt erőforrásokat.

OnClosed()

A kommunikációs objektum záró állapotba való áttűnése során hívható meg.

(Öröklődés forrása CommunicationObject)
OnClosing()

A kommunikációs objektum záró állapotba való áttűnése során hívható meg.

(Öröklődés forrása CommunicationObject)
OnEndClose(IAsyncResult)

Befejez egy aszinkron műveletet, amelyet a szolgáltatásgazda bezárása után hív meg.

OnEndOpen(IAsyncResult)

Befejez egy aszinkron műveletet, amelyet a szolgáltatásgazda megnyitásakor hív meg.

OnFaulted()

Beszúrja a feldolgozást egy kommunikációs objektumra, miután egy szinkron hibaművelet meghívása miatt a hibás állapotba vált.

(Öröklődés forrása CommunicationObject)
OnOpen(TimeSpan)

Megnyitja a csatorna diszpécsereket.

OnOpened()

Lekéri az üzemeltetett szolgáltatáshoz tartozó szolgáltatás hitelesítő adatait, szolgáltatáshitelesítését és engedélyezési viselkedését.

OnOpening()

A kommunikációs objektum megnyitási állapotba való áttűnése során hívható meg.

(Öröklődés forrása CommunicationObject)
Open()

Egy kommunikációs objektum a létrehozott állapotból a megnyitott állapotba vált.

(Öröklődés forrása CommunicationObject)
Open(TimeSpan)

Egy kommunikációs objektum egy meghatározott időtartamon belül átvált a létrehozott állapotról a megnyitott állapotra.

(Öröklődés forrása CommunicationObject)
ReleasePerformanceCounters()

Felszabadítja a szolgáltatás és a csatorna diszpécserének teljesítményszámlálóit az üzemeltetett szolgáltatáshoz.

SetEndpointAddress(ServiceEndpoint, String)

Beállítja a megadott végpont végpontcímét a megadott címre.

ThrowIfDisposed()

Kivételt jelez, ha a kommunikációs objektum el van dobva.

(Öröklődés forrása CommunicationObject)
ThrowIfDisposedOrImmutable()

Kivételt jelez, ha a tulajdonság kommunikációs objektuma State nincs állapotra Created állítva.

(Öröklődés forrása CommunicationObject)
ThrowIfDisposedOrNotOpen()

Kivételt jelez, ha a kommunikációs objektum nincs állapotban Opened .

(Öröklődés forrása CommunicationObject)
ToString()

Az aktuális objektumot jelképező sztringet ad vissza.

(Öröklődés forrása Object)

esemény

Name Description
Closed

Akkor fordul elő, ha egy kommunikációs objektum zárt állapotba vált.

(Öröklődés forrása CommunicationObject)
Closing

Akkor fordul elő, ha egy kommunikációs objektum a záró állapotba vált.

(Öröklődés forrása CommunicationObject)
Faulted

Akkor fordul elő, ha egy kommunikációs objektum hibás állapotba vált.

(Öröklődés forrása CommunicationObject)
Opened

Akkor fordul elő, ha egy kommunikációs objektum áttűnés a megnyitott állapotba.

(Öröklődés forrása CommunicationObject)
Opening

Akkor fordul elő, ha egy kommunikációs objektum áttűnés a nyitó állapotba.

(Öröklődés forrása CommunicationObject)
UnknownMessageReceived

Ismeretlen üzenet érkezésekor fordul elő.

Explicit interfész-implementációk

Name Description
IDisposable.Dispose()

Bezárja a szolgáltatás gazdagépét.

A következőre érvényes: