ServicedComponent Klass

Definition

Representerar basklassen för alla klasser som använder COM+-tjänster.

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
Arv
Härledda
Attribut
Implementeringar

Exempel

I följande kodexempel visas hur du exponerar en klass som en konfigurerad COM-komponent.


[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);
    }
}

Om du vill distribuera den här klassen som en konfigurerad COM-komponent måste du generera en stark nyckel, kompilera klassen som ett bibliotek och registrera biblioteket. Dessa tre steg utförs med följande tre kommandon.

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

Kommentarer

Under vissa förhållanden kan en klass som härleds från ServicedComponent som körs i ett COM+-program sluta svara. Det här problemet orsakas av ett aktivitetsstopp. Aktiviteter kan blockera flera program på grund av en asynkron rensning av komponentreferenser. Du kan undvika det här problemet genom att Dispose anropa metoden när du slutför arbetet med objekt som härletts från ServicedComponent.

Note

Klientkoden måste anropa Dispose servicekomponenter för att säkerställa korrekt åtgärd.

Konstruktorer

Name Description
ServicedComponent()

Initierar en ny instans av ServicedComponent klassen.

Metoder

Name Description
Activate()

Anropas av infrastrukturen när objektet skapas eller allokeras från en pool. Åsidosätt den här metoden för att lägga till anpassad initieringskod i objekt.

CanBePooled()

Den här metoden anropas av infrastrukturen innan objektet sätts tillbaka till poolen. Åsidosätt den här metoden för att rösta på om objektet ska placeras tillbaka i poolen.

Construct(String)

Anropas av infrastrukturen strax efter att konstruktorn anropats och skickar in konstruktorsträngen. Åsidosätt den här metoden för att använda byggsträngsvärdet.

CreateObjRef(Type)

Skapar ett objekt som innehåller all relevant information som krävs för att generera en proxy som används för att kommunicera med ett fjärrobjekt.

(Ärvd från MarshalByRefObject)
Deactivate()

Anropas av infrastrukturen när objektet är på väg att inaktiveras. Åsidosätt den här metoden för att lägga till anpassad finaliseringskod i objekt när JIT-kompilerad kod (just-in-time) eller objektpooler används.

Dispose()

Släpper alla resurser som används av ServicedComponent.

Dispose(Boolean)

Släpper de ohanterade resurser som används av ServicedComponent och släpper eventuellt de hanterade resurserna.

DisposeObject(ServicedComponent)

Slutför objektet och tar bort den associerade COM+-referensen.

Equals(Object)

Avgör om det angivna objektet är lika med det aktuella objektet.

(Ärvd från Object)
GetHashCode()

Fungerar som standard-hash-funktion.

(Ärvd från Object)
GetLifetimeService()

Hämtar det aktuella livslängdstjänstobjektet som styr livslängdsprincipen för den här instansen.

(Ärvd från MarshalByRefObject)
GetType()

Hämtar den aktuella instansen Type .

(Ärvd från Object)
InitializeLifetimeService()

Hämtar ett tjänstobjekt för livslängd för att styra livslängdsprincipen för den här instansen.

(Ärvd från MarshalByRefObject)
MemberwiseClone()

Skapar en ytlig kopia av den aktuella Object.

(Ärvd från Object)
MemberwiseClone(Boolean)

Skapar en ytlig kopia av det aktuella MarshalByRefObject objektet.

(Ärvd från MarshalByRefObject)
ToString()

Returnerar en sträng som representerar det aktuella objektet.

(Ärvd från Object)

Explicita gränssnittsimplementeringar

Name Description
IRemoteDispatch.RemoteDispatchAutoDone(String)

Detta API stöder produktinfrastrukturen och är inte avsett att användas direkt från koden.

Säkerställer att klassobjektets done bit i COM+-kontexten ServicedComponent är inställd på true efter en fjärrmetodanrop.

IRemoteDispatch.RemoteDispatchNotAutoDone(String)

Säkerställer inte att klassobjektets done bit i COM+-kontexten ServicedComponent är inställd true på efter en fjärrmetodanrop.

IServicedComponentInfo.GetComponentInfo(Int32, String[])

Hämtar viss information om klassinstansen ServicedComponent .

Gäller för