Share via


ServicedComponent Třída

Definice

Představuje základní třídu všech tříd pomocí služeb 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 MODELU 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);
    }
}

Chcete-li nasadit tuto třídu jako nakonfigurovanou komponentu com, musíte vygenerovat silný klíč, zkompilovat třídu jako knihovnu a zaregistrovat knihovnu. Tyto tři kroky provádí následující tři 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á od ServicedComponent třídy spuštěné v aplikaci modelu COM+ přestat reagovat. Příčinou tohoto problému je zablokování aktivity. Aktivity můžou u aplikací s více vlákny zablokovat kvůli asynchronnímu č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ými z ServicedComponent.

Poznámka

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

Konstruktory

ServicedComponent()

Inicializuje novou instanci ServicedComponent třídy.

Metody

Activate()

Volá se infrastrukturou, když je objekt vytvořen nebo přidělen 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 vložením objektu zpět do fondu. Přepište tuto metodu, pokud chcete hlasovat o tom, jestli je objekt vložen zpět do fondu.

Construct(String)

Volá infrastruktura hned po zavolání konstruktoru a předává řetězec konstruktoru. Přepište tuto metodu, 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 používaného ke komunikaci se vzdáleným objektem.

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

Volá se infrastrukturou, když se objekt chystá deaktivovat. Přepište tuto metodu pro přidání vlastního kódu finalizace do objektů 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 nástrojem a volitelně uvolní spravované prostředky.

DisposeObject(ServicedComponent)

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

Equals(Object)

Určí, zda se zadaný objekt rovná aktuálnímu objektu.

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

Slouží jako výchozí hashovací funkce.

(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á aktuální Type instanci.

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

Získá objekt služby životnosti, který řídí zásady životnosti pro tuto instanci.

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

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

(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í

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 v kontextu modelu COM+ je bit objektu ServicedComponentdone třídy nastaven na true po vyvolání vzdálené metody.

IRemoteDispatch.RemoteDispatchNotAutoDone(String)

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

IServicedComponentInfo.GetComponentInfo(Int32, String[])

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

Platí pro