ServicedComponent Klasa
Definicja
Ważne
Niektóre informacje odnoszą się do produktu w wersji wstępnej, który może zostać znacząco zmodyfikowany przed wydaniem. Firma Microsoft nie udziela żadnych gwarancji, jawnych lub domniemanych, w odniesieniu do informacji podanych w tym miejscu.
Reprezentuje klasę bazową wszystkich klas przy użyciu usług 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
- Dziedziczenie
- Pochodne
- Atrybuty
- Implementuje
Przykłady
W poniższym przykładzie kodu pokazano, jak uwidocznić klasę jako skonfigurowany składnik 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);
}
}
Aby wdrożyć tę klasę jako skonfigurowany składnik COM, należy wygenerować silny klucz, skompilować klasę jako bibliotekę i zarejestrować bibliotekę. Te trzy kroki są wykonywane przez następujące trzy polecenia.
sn -k Calculator.snk
csc /t:library Calculator.cs
regsvcs Calculator.dll
Uwagi
W pewnych warunkach klasa pochodząca z ServicedComponent tej klasy uruchomionej w aplikacji COM+ może przestać odpowiadać. Ten problem jest spowodowany zakleszczeniem działania. Działania mogą zakleszczać w aplikacjach wielowątkowych z powodu asynchronicznego czyszczenia odwołań do składników. Aby obejść ten problem, wywołaj metodę po zakończeniu Dispose pracy z obiektami pochodzącymi z ServicedComponentklasy .
Uwaga
Kod klienta musi wywoływać Dispose
składniki obsługiwane w celu zapewnienia prawidłowej operacji.
Konstruktory
ServicedComponent() |
Inicjuje nowe wystąpienie klasy ServicedComponent. |
Metody
Activate() |
Wywoływana przez infrastrukturę podczas tworzenia lub przydzielania obiektu z puli. Zastąpij tę metodę, aby dodać niestandardowy kod inicjowania do obiektów. |
CanBePooled() |
Ta metoda jest wywoływana przez infrastrukturę, zanim obiekt zostanie ponownie umieszczony w puli. Zastąpij tę metodę, aby głosować na to, czy obiekt jest umieszczany z powrotem w puli. |
Construct(String) |
Wywoływana przez infrastrukturę tuż po wywołaniu konstruktora przekazuje ciąg konstruktora. Zastąpij tę metodę, aby użyć wartości ciągu konstrukcyjnego. |
CreateObjRef(Type) |
Tworzy obiekt zawierający wszystkie istotne informacje wymagane do wygenerowania serwera proxy używanego do komunikowania się z obiektem zdalnym. (Odziedziczone po MarshalByRefObject) |
Deactivate() |
Wywoływana przez infrastrukturę, gdy obiekt ma zostać zdezaktywowany. Zastąpij tę metodę, aby dodać niestandardowy kod finalizacji do obiektów, gdy jest używany kod skompilowany just in time (JIT) lub buforowanie obiektów. |
Dispose() |
Zwalnia wszelkie zasoby używane przez element ServicedComponent. |
Dispose(Boolean) |
Zwalnia zasoby niezarządzane używane przez element ServicedComponent i opcjonalnie zwalnia zasoby zarządzane. |
DisposeObject(ServicedComponent) |
Finalizuje obiekt i usuwa skojarzone odwołanie COM+. |
Equals(Object) |
Określa, czy dany obiekt jest taki sam, jak bieżący obiekt. (Odziedziczone po Object) |
GetHashCode() |
Służy jako domyślna funkcja skrótu. (Odziedziczone po Object) |
GetLifetimeService() |
Przestarzałe.
Pobiera bieżący obiekt usługi okresu istnienia, który kontroluje zasady okresu istnienia dla tego wystąpienia. (Odziedziczone po MarshalByRefObject) |
GetType() |
Type Pobiera wartość bieżącego wystąpienia. (Odziedziczone po Object) |
InitializeLifetimeService() |
Przestarzałe.
Uzyskuje obiekt usługi okresu istnienia w celu kontrolowania zasad okresu istnienia dla tego wystąpienia. (Odziedziczone po MarshalByRefObject) |
MemberwiseClone() |
Tworzy płytkią kopię bieżącego Objectelementu . (Odziedziczone po Object) |
MemberwiseClone(Boolean) |
Tworzy płytkią kopię bieżącego MarshalByRefObject obiektu. (Odziedziczone po MarshalByRefObject) |
ToString() |
Zwraca ciąg reprezentujący bieżący obiekt. (Odziedziczone po Object) |
Jawne implementacje interfejsu
IRemoteDispatch.RemoteDispatchAutoDone(String) |
Ten interfejs API obsługuje infrastrukturę produktu i nie jest przeznaczony do użycia bezpośrednio z poziomu kodu. Gwarantuje, że w kontekście ServicedComponent COM+ bit obiektu |
IRemoteDispatch.RemoteDispatchNotAutoDone(String) |
Nie zapewnia, że w kontekście ServicedComponent COM+ bit obiektu |
IServicedComponentInfo.GetComponentInfo(Int32, String[]) |
Uzyskuje pewne informacje o wystąpieniu ServicedComponent klasy. |