ServicedComponent Klas

Definitie

Vertegenwoordigt de basisklasse van alle klassen met 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
Overname
Afgeleid
Kenmerken
Implementeringen

Voorbeelden

In het volgende codevoorbeeld ziet u hoe u een klasse beschikbaar maakt als een geconfigureerd COM-onderdeel.


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

Als u deze klasse wilt implementeren als een geconfigureerd COM-onderdeel, moet u een sterke sleutel genereren, de klasse compileren als een bibliotheek en de bibliotheek registreren. Deze drie stappen worden uitgevoerd door de volgende drie opdrachten.

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

Opmerkingen

Onder bepaalde voorwaarden reageert een klasse die is afgeleid van ServicedComponent die wordt uitgevoerd in een COM+-toepassing mogelijk niet meer. Dit probleem wordt veroorzaakt door een impasse voor activiteiten. Activiteiten kunnen impasses in multithreaded toepassingen vanwege een asynchrone opschoning van onderdeelverwijzingen. Als u dit probleem wilt omzeilen, roept u de Dispose methode aan wanneer u klaar bent met het werken met objecten die zijn afgeleid van ServicedComponent.

Note

Clientcode moet serviceonderdelen aanroepen Dispose om de juiste werking te garanderen.

Constructors

Name Description
ServicedComponent()

Initialiseert een nieuw exemplaar van de ServicedComponent klasse.

Methoden

Name Description
Activate()

Aangeroepen door de infrastructuur wanneer het object wordt gemaakt of toegewezen vanuit een pool. Overschrijf deze methode om aangepaste initialisatiecode toe te voegen aan objecten.

CanBePooled()

Deze methode wordt aangeroepen door de infrastructuur voordat het object weer in de pool wordt geplaatst. Overschrijf deze methode om te stemmen of het object weer in de groep wordt geplaatst.

Construct(String)

Aangeroepen door de infrastructuur net nadat de constructor is aangeroepen, waarbij de constructortekenreeks wordt doorgegeven. Overschrijf deze methode om gebruik te maken van de waarde van de constructietekenreeks.

CreateObjRef(Type)

Hiermee maakt u een object dat alle relevante informatie bevat die nodig is om een proxy te genereren die wordt gebruikt om te communiceren met een extern object.

(Overgenomen van MarshalByRefObject)
Deactivate()

Aangeroepen door de infrastructuur wanneer het object op het punt staat te worden gedeactiveerd. Overschrijf deze methode om aangepaste finalisatiecode toe te voegen aan objecten wanneer just-in-time (JIT) gecompileerde code of objectpooling wordt gebruikt.

Dispose()

Alle resources die worden gebruikt door de ServicedComponent.

Dispose(Boolean)

Publiceert de niet-beheerde resources die worden gebruikt door de ServicedComponent beheerde resources en brengt eventueel de beheerde resources vrij.

DisposeObject(ServicedComponent)

Hiermee voltooit u het object en verwijdert u de bijbehorende COM+-verwijzing.

Equals(Object)

Bepaalt of het opgegeven object gelijk is aan het huidige object.

(Overgenomen van Object)
GetHashCode()

Fungeert als de standaardhashfunctie.

(Overgenomen van Object)
GetLifetimeService()

Hiermee haalt u het huidige levensduurserviceobject op waarmee het levensduurbeleid voor dit exemplaar wordt beheerd.

(Overgenomen van MarshalByRefObject)
GetType()

Hiermee haalt u de Type huidige instantie op.

(Overgenomen van Object)
InitializeLifetimeService()

Hiermee haalt u een levensduurserviceobject op om het levensduurbeleid voor dit exemplaar te beheren.

(Overgenomen van MarshalByRefObject)
MemberwiseClone()

Hiermee maakt u een ondiepe kopie van de huidige Object.

(Overgenomen van Object)
MemberwiseClone(Boolean)

Hiermee maakt u een ondiepe kopie van het huidige MarshalByRefObject object.

(Overgenomen van MarshalByRefObject)
ToString()

Retourneert een tekenreeks die het huidige object vertegenwoordigt.

(Overgenomen van Object)

Expliciete interface-implementaties

Name Description
IRemoteDispatch.RemoteDispatchAutoDone(String)

Deze API ondersteunt de productinfrastructuur en is niet bedoeld om rechtstreeks vanuit de code te gebruiken.

Zorgt ervoor dat in de COM+-context de bit van done het ServicedComponent klasseobject is ingesteld true op na een aanroep van een externe methode.

IRemoteDispatch.RemoteDispatchNotAutoDone(String)

Zorgt er niet voor dat in de COM+-context de bit van done het ServicedComponent klasseobject is ingesteld true op na een externe methodeaanroep.

IServicedComponentInfo.GetComponentInfo(Int32, String[])

Haalt bepaalde informatie over het ServicedComponent klasse-exemplaar op.

Van toepassing op