ServicedComponent Třída

Definice

Představuje základní třídu všech tříd využívajících služby MODELU COM+.

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
Dědičnost
Odvozené
Atributy
Implementuje

Příklady

Následující příklad kódu ukazuje, jak vystavit třídu jako nakonfigurovanou komponentu COM.


[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);
    }
}

Pokud chcete tuto třídu nasadit jako nakonfigurovanou komponentu COM, musíte vygenerovat silný klíč, zkompilovat třídu jako knihovnu a zaregistrovat knihovnu. Tyto tři kroky se provádějí následujícími třemi příkazy.

sn -k Calculator.snk
csc /t:library Calculator.cs
regsvcs Calculator.dll

Poznámky

Za určitých podmínek může třída odvozená z ServicedComponent toho, která běží v aplikaci MODELU COM+ přestat reagovat. Příčinou tohoto problému je zablokování aktivity. Aktivity můžou ve vícevláknových aplikacích zablokovat kvůli asynchronnímu vyčištění odkazů na komponenty. Chcete-li tento problém vyřešit, zavolejte metodu Dispose po dokončení práce s objekty odvozené z ServicedComponent.

Note

Klientský kód musí volat Dispose obsluhované komponenty, aby se zajistila správná operace.

Konstruktory

Name Description
ServicedComponent()

Inicializuje novou instanci ServicedComponent třídy.

Metody

Name Description
Activate()

Volá se infrastrukturou při vytvoření nebo přidělení objektu z fondu. Přepište tuto metodu pro přidání vlastního inicializačního kódu do objektů.

CanBePooled()

Tato metoda je volána infrastrukturou před vrácením objektu do fondu. Přepsat tuto metodu hlasovat o tom, zda je objekt umístěn zpět do fondu.

Construct(String)

Volá se infrastrukturou hned po zavolání konstruktoru a předání řetězce konstruktoru. Tuto metodu přepište, aby se použila hodnota stavebního řetězce.

CreateObjRef(Type)

Vytvoří objekt, který obsahuje všechny relevantní informace potřebné k vygenerování proxy serveru sloužícího ke komunikaci se vzdáleným objektem.

(Zděděno od MarshalByRefObject)
Deactivate()

Volá se infrastrukturou, když se objekt chystá deaktivovat. Tuto metodu přepište tak, aby se do objektů přidal vlastní finalizační kód při použití zkompilovaného kódu za běhu (JIT) nebo sdružování objektů.

Dispose()

Uvolní všechny prostředky používané nástrojem ServicedComponent.

Dispose(Boolean)

Uvolní nespravované prostředky používané ServicedComponent a volitelně uvolní spravované prostředky.

DisposeObject(ServicedComponent)

Dokončí objekt a odebere přidružený odkaz MODELU COM+.

Equals(Object)

Určuje, zda je zadaný objekt roven aktuálnímu objektu.

(Zděděno od Object)
GetHashCode()

Slouží jako výchozí funkce hash.

(Zděděno od Object)
GetLifetimeService()
Zastaralé.

Načte objekt služby aktuální životnosti, který řídí zásady životnosti pro tuto instanci.

(Zděděno od MarshalByRefObject)
GetType()

Získá Type aktuální instance.

(Zděděno od Object)
InitializeLifetimeService()
Zastaralé.

Získá objekt služby životnosti pro řízení zásad životnosti pro tuto instanci.

(Zděděno od MarshalByRefObject)
MemberwiseClone()

Vytvoří mělkou kopii aktuálního Object.

(Zděděno od Object)
MemberwiseClone(Boolean)

Vytvoří mělkou kopii aktuálního MarshalByRefObject objektu.

(Zděděno od MarshalByRefObject)
ToString()

Vrátí řetězec, který představuje aktuální objekt.

(Zděděno od Object)

Explicitní implementace rozhraní

Name Description
IRemoteDispatch.RemoteDispatchAutoDone(String)

Toto rozhraní API podporuje produktovou infrastrukturu a není určené k použití přímo z uživatelského kódu.

Zajišťuje, že bit objektu ServicedComponent třídy je v kontextu done modelu COM+ nastaven na true po vyvolání vzdálené metody.

IRemoteDispatch.RemoteDispatchNotAutoDone(String)

Nezajistí, že bit objektu ServicedComponent třídy je v kontextu done modelu COM+ nastaven na true po vyvolání vzdálené metody.

IServicedComponentInfo.GetComponentInfo(Int32, String[])

Získá určité informace o ServicedComponent instanci třídy.

Platí pro