ServicedComponent Klas
Definitie
Belangrijk
Bepaalde informatie heeft betrekking op een voorlopige productversie die aanzienlijk kan worden gewijzigd voordat deze wordt uitgebracht. Microsoft biedt geen enkele expliciete of impliciete garanties met betrekking tot de informatie die hier wordt verstrekt.
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 |
| IRemoteDispatch.RemoteDispatchNotAutoDone(String) |
Zorgt er niet voor dat in de COM+-context de bit van |
| IServicedComponentInfo.GetComponentInfo(Int32, String[]) |
Haalt bepaalde informatie over het ServicedComponent klasse-exemplaar op. |