Udostępnij za pośrednictwem


ServicedComponent Klasa

Definicja

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 done klasy jest ustawiony na true po wywołaniu metody zdalnej.

IRemoteDispatch.RemoteDispatchNotAutoDone(String)

Nie zapewnia, że w kontekście ServicedComponent COM+ bit obiektu done klasy jest ustawiony na true po wywołaniu metody zdalnej.

IServicedComponentInfo.GetComponentInfo(Int32, String[])

Uzyskuje pewne informacje o wystąpieniu ServicedComponent klasy.

Dotyczy