ServicedComponent Třída
Definice
Důležité
Některé informace platí pro předběžně vydaný produkt, který se může zásadně změnit, než ho výrobce nebo autor vydá. Microsoft neposkytuje žádné záruky, výslovné ani předpokládané, týkající se zde uváděných informací.
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 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 MODELU COM, musíte vygenerovat silný klíč, zkompilovat třídu jako knihovnu a zaregistrovat knihovnu. Tyto tři kroky se provádí 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 být u vícevláknových aplikací zablokované kvůli asynchronnímu vyčištění odkazů na komponenty. Chcete-li tento problém vyřešit, volejte 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 zajistilo správné fungování.
Konstruktory
ServicedComponent() |
Inicializuje novou instanci ServicedComponent třídy. |
Metody
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. Tuto metodu přepište, pokud chcete hlasovat o tom, zda je objekt vrácen zpět do fondu. |
Construct(String) |
Volá se infrastrukturou těsně po zavolání konstruktoru a předání řetězce 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 serveru 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 finalizačního kódu do objektů při použití kompilované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é a ServicedComponent 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í funkce hash. (Zděděno od Object) |
GetLifetimeService() |
Zastaralé.
Načte aktuální objekt služby životnosti, který řídí zásady životnosti pro tuto instanci. (Zděděno od MarshalByRefObject) |
GetType() |
Type Získá aktuální instanci. (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ří použádnou kopii aktuálního souboru Object. (Zděděno od Object) |
MemberwiseClone(Boolean) |
Vytvoří kopii aktuálního objektu bez MarshalByRefObject podmět. (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, ServicedComponent že bit objektu |
IRemoteDispatch.RemoteDispatchNotAutoDone(String) |
Nezajistí, že bit objektu |
IServicedComponentInfo.GetComponentInfo(Int32, String[]) |
Získá určité informace o ServicedComponent instanci třídy. |