ServicedComponent 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.
Az összes, COM+ szolgáltatást használó osztály alaposztályát jelöli.
public ref class ServicedComponent abstract : ContextBoundObject, IDisposable, System::EnterpriseServices::IRemoteDispatch, System::EnterpriseServices::IServicedComponentInfo
[System.Serializable]
public abstract class ServicedComponent : ContextBoundObject, IDisposable, System.EnterpriseServices.IRemoteDispatch, System.EnterpriseServices.IServicedComponentInfo
[<System.Serializable>]
type ServicedComponent = class
inherit ContextBoundObject
interface IRemoteDispatch
interface IDisposable
interface IServicedComponentInfo
Public MustInherit Class ServicedComponent
Inherits ContextBoundObject
Implements IDisposable, IRemoteDispatch, IServicedComponentInfo
- Öröklődés
- Származtatott
- Attribútumok
- Megvalósítás
Példák
Az alábbi példakód bemutatja, hogyan tehet közzé egy osztályt konfigurált COM-összetevőként.
[assembly:ApplicationName("Calculator")];
[assembly:ApplicationActivation(ActivationOption::Library)];
[assembly:System::Reflection::AssemblyKeyFile("Calculator.snk")];
public ref class Calculator: public ServicedComponent
{
public:
int Add( int x, int y )
{
return (x + y);
}
};
using System;
using System.EnterpriseServices;
[assembly: ApplicationName("Calculator")]
[assembly: ApplicationActivation(ActivationOption.Library)]
[assembly: System.Reflection.AssemblyKeyFile("Calculator.snk")]
public class Calculator : ServicedComponent
{
public int Add (int x, int y)
{
return(x+y);
}
}
Ha konfigurált COM-összetevőként szeretné üzembe helyezni ezt az osztályt, létre kell hoznia egy erős kulcsot, össze kell állítania az osztályt tárként, és regisztrálnia kell az erőforrástárat. Ezt a három lépést a következő három parancs hajtja végre.
sn -k Calculator.snk
csc /t:library Calculator.cs
regsvcs Calculator.dll
Megjegyzések
Bizonyos feltételek mellett előfordulhat, hogy egy COM+ alkalmazásban futtatott osztály nem ServicedComponent válaszol. Ezt a problémát egy tevékenység holtpontja okozza. A tevékenységek holtpontot jelenthetnek a többszálú alkalmazásokban az összetevők hivatkozásainak aszinkron törlése miatt. A probléma megkerüléséhez hívja meg a metódust, amikor befejezi a Dispose munkát a forrásból ServicedComponentszármazó objektumokkal.
Note
A megfelelő működés biztosításához az ügyfélkódnak meg kell hívnia Dispose a szervizelt összetevőket.
Konstruktorok
| Name | Description |
|---|---|
| ServicedComponent() |
Inicializálja a ServicedComponent osztály új példányát. |
Metódusok
| Name | Description |
|---|---|
| Activate() |
Az infrastruktúra hívja meg az objektum létrehozásakor vagy készletből való lefoglalásakor. A metódus felülbírálása egyéni inicializálási kód objektumokhoz való hozzáadásához. |
| CanBePooled() |
Ezt a metódust az infrastruktúra hívja meg, mielőtt az objektum vissza lesz helyezve a készletbe. Felülbírálhatja ezt a metódust annak eldöntéséhez, hogy az objektum vissza lesz-e helyezve a készletbe. |
| Construct(String) |
Az infrastruktúra a konstruktor meghívása után hívja meg a konstruktor sztringet. A metódus felülbírálása az építési sztring értékének használatához. |
| CreateObjRef(Type) |
Létrehoz egy objektumot, amely tartalmazza a távoli objektumokkal való kommunikációhoz használt proxy létrehozásához szükséges összes releváns információt. (Öröklődés forrása MarshalByRefObject) |
| Deactivate() |
Az infrastruktúra hívja meg, amikor az objektum inaktiválására készül. Felülbírálja ezt a metódust, hogy egyéni véglegesítési kódot adjon hozzá az objektumokhoz, ha a rendszer időben lefordított kódot vagy objektumkészletezést használ. |
| Dispose() |
Felszabadítja a .-hez használt összes erőforrást ServicedComponent. |
| Dispose(Boolean) |
Felszabadítja a felügyelt erőforrások által ServicedComponent használt nem felügyelt erőforrásokat, és opcionálisan felszabadítja a felügyelt erőforrásokat. |
| DisposeObject(ServicedComponent) |
Véglegesíti az objektumot, és eltávolítja a kapcsolódó COM+ referenciát. |
| Equals(Object) |
Meghatározza, hogy a megadott objektum egyenlő-e az aktuális objektummal. (Öröklődés forrása Object) |
| GetHashCode() |
Ez az alapértelmezett kivonatoló függvény. (Öröklődés forrása Object) |
| GetLifetimeService() |
Elavult.
Lekéri a példány élettartamszabályzatát vezérlő aktuális élettartam-szolgáltatásobjektumot. (Öröklődés forrása MarshalByRefObject) |
| GetType() |
Lekéri az Type aktuális példányt. (Öröklődés forrása Object) |
| InitializeLifetimeService() |
Elavult.
Beolvas egy élettartam-szolgáltatásobjektumot a példány élettartam-szabályzatának szabályozásához. (Öröklődés forrása MarshalByRefObject) |
| MemberwiseClone() |
Az aktuális Objectpéldány sekély másolatát hozza létre. (Öröklődés forrása Object) |
| MemberwiseClone(Boolean) |
Az aktuális MarshalByRefObject objektum sekély másolatát hozza létre. (Öröklődés forrása MarshalByRefObject) |
| ToString() |
Az aktuális objektumot jelképező sztringet ad vissza. (Öröklődés forrása Object) |
Explicit interfész-implementációk
| Name | Description |
|---|---|
| IRemoteDispatch.RemoteDispatchAutoDone(String) |
Ez az API a termékinfrastruktúrát támogatja, és közvetlenül a kódból nem használható. Biztosítja, hogy a COM+ környezetben az ServicedComponent osztályobjektum bitje |
| IRemoteDispatch.RemoteDispatchNotAutoDone(String) |
Nem biztosítja, hogy a COM+ környezetben az ServicedComponent osztályobjektum bitje |
| IServicedComponentInfo.GetComponentInfo(Int32, String[]) |
Beolvas bizonyos információkat az ServicedComponent osztálypéldányról. |