ServicedComponent Osztály

Definíció

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 done távoli metódushívás után legyen true beállítva.

IRemoteDispatch.RemoteDispatchNotAutoDone(String)

Nem biztosítja, hogy a COM+ környezetben az ServicedComponent osztályobjektum bitje done távoli metódushívás után legyen beállítva true .

IServicedComponentInfo.GetComponentInfo(Int32, String[])

Beolvas bizonyos információkat az ServicedComponent osztálypéldányról.

A következőre érvényes: