ServiceHostBase Osztály
Definíció
Fontos
Egyes információk olyan, kiadás előtti termékekre vonatkoznak, amelyek a kiadásig még jelentősen módosulhatnak. A Microsoft nem vállal kifejezett vagy törvényi garanciát az itt megjelenő információért.
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
- 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. |