ServicedComponent Klasa

Definicja

Reprezentuje klasę bazową wszystkich klas przy użyciu usług modelu COM+.Represents the base class of all classes using COM+ services.

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

Poniższy przykład kodu demonstruje, jak uwidocznić klasę jako skonfigurowany składnik COM.The following code example demonstrates how to expose a class as a configured COM component.


[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ę.To deploy this class as a configured COM component, you must generate a strong key, compile the class as a library, and register the library. Te trzy kroki są wykonywane przez następujące trzy polecenia.These three steps are accomplished by the following three commands.

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

Uwagi

W pewnych warunkach Klasa, która pochodzi od ServicedComponent , która jest uruchamiana w aplikacji modelu COM+, może przestać odpowiadać.Under certain conditions, a class that is derived from ServicedComponent that runs in a COM+ application may stop responding. Ten problem jest spowodowany zakleszczeniem działania.This problem is caused by an Activity deadlock. Działania mogą być zakleszczony w aplikacjach wielowątkowych ze względu na asynchroniczne czyszczenie odwołań do składników.Activities can deadlock on multithreaded applications because of an asynchronous cleanup of component references. Aby obejść ten problem, wywołaj Dispose metodę po zakończeniu pracy z obiektami pochodnymi z ServicedComponent .To work around this problem, call the Dispose method when you complete work with objects derived from ServicedComponent.

Uwaga

Kod klienta musi wywoływać Dispose składniki serwisowane w celu zapewnienia prawidłowej operacji.Client code must call Dispose on serviced components to ensure proper operation.

Konstruktory

ServicedComponent()

Inicjuje nowe wystąpienie klasy ServicedComponent.Initializes a new instance of the ServicedComponent class.

Metody

Activate()

Wywoływane przez infrastrukturę, gdy obiekt jest tworzony lub przydzielony z puli.Called by the infrastructure when the object is created or allocated from a pool. Zastąp tę metodę, aby dodać niestandardowy kod inicjalizacji do obiektów.Override this method to add custom initialization code to objects.

CanBePooled()

Ta metoda jest wywoływana przez infrastrukturę, zanim obiekt zostanie odsunięty do puli.This method is called by the infrastructure before the object is put back into the pool. Zastąp tę metodę, aby zagłosować, czy obiekt jest ponownie umieszczany w puli.Override this method to vote on whether the object is put back into the pool.

Construct(String)

Wywoływane przez infrastrukturę tuż po wywołaniu konstruktora, przekazując w ciągu konstruktora.Called by the infrastructure just after the constructor is called, passing in the constructor string. Zastąp tę metodę, aby użyć wartości ciągu konstrukcji.Override this method to make use of the construction string value.

CreateObjRef(Type)

Tworzy obiekt, który zawiera wszystkie istotne informacje wymagane do wygenerowania serwera proxy używanego do komunikacji z obiektem zdalnym.Creates an object that contains all the relevant information required to generate a proxy used to communicate with a remote object.

(Odziedziczone po MarshalByRefObject)
Deactivate()

Wywoływane przez infrastrukturę, gdy obiekt zostanie zdezaktywowany.Called by the infrastructure when the object is about to be deactivated. Zastąp tę metodę, aby dodać niestandardowy kod finalizacji do obiektów, gdy jest używany skompilowany kod lub buforowanie obiektów just-in-Time (JIT).Override this method to add custom finalization code to objects when just-in-time (JIT) compiled code or object pooling is used.

Dispose()

Zwalnia wszelkie zasoby używane przez element ServicedComponent.Releases all resources used by the ServicedComponent.

Dispose(Boolean)

Zwalnia zasoby niezarządzane używane przez element ServicedComponent i opcjonalnie zwalnia zasoby zarządzane.Releases the unmanaged resources used by the ServicedComponent and optionally releases the managed resources.

DisposeObject(ServicedComponent)

Kończy obiekt i usuwa skojarzone odwołanie com.Finalizes the object and removes the associated COM+ reference.

Equals(Object)

Określa, czy dany obiekt jest taki sam, jak bieżący obiekt.Determines whether the specified object is equal to the current object.

(Odziedziczone po Object)
GetHashCode()

Służy jako domyślna funkcja skrótu.Serves as the default hash function.

(Odziedziczone po Object)
GetLifetimeService()

Pobiera bieżący obiekt usługi okresu istnienia, który kontroluje zasady okresu istnienia dla tego wystąpienia.Retrieves the current lifetime service object that controls the lifetime policy for this instance.

(Odziedziczone po MarshalByRefObject)
GetType()

Pobiera Type bieżące wystąpienie.Gets the Type of the current instance.

(Odziedziczone po Object)
InitializeLifetimeService()

Uzyskuje obiekt usługi istnienia w celu kontrolowania zasad okresu istnienia dla tego wystąpienia.Obtains a lifetime service object to control the lifetime policy for this instance.

(Odziedziczone po MarshalByRefObject)
MemberwiseClone()

Tworzy skróconą kopię bieżącego elementu Object .Creates a shallow copy of the current Object.

(Odziedziczone po Object)
MemberwiseClone(Boolean)

Tworzy skróconą kopię bieżącego MarshalByRefObject obiektu.Creates a shallow copy of the current MarshalByRefObject object.

(Odziedziczone po MarshalByRefObject)
ToString()

Zwraca ciąg reprezentujący bieżący obiekt.Returns a string that represents the current object.

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

Zapewnia, że w kontekście COM+ ServicedComponent bit obiektu klasy done jest ustawiony na true po wywołaniu metody zdalnej.Ensures that, in the COM+ context, the ServicedComponent class object's done bit is set to true after a remote method invocation.

IRemoteDispatch.RemoteDispatchNotAutoDone(String)

Nie gwarantuje, że w kontekście COM+ ServicedComponent bit obiektu klasy done jest ustawiony na true po wywołaniu metody zdalnej.Does not ensure that, in the COM+ context, the ServicedComponent class object's done bit is set to true after a remote method invocation.

IServicedComponentInfo.GetComponentInfo(Int32, String[])

Uzyskuje pewne informacje dotyczące ServicedComponent wystąpienia klasy.Obtains certain information about the ServicedComponent class instance.

Dotyczy