Cette documentation est archivée et n’est pas conservée.

ServicedComponent, classe

Mise à jour : novembre 2007

Représente la classe de base de toutes les classes utilisant les services COM+.

Espace de noms :  System.EnterpriseServices
Assembly :  System.EnterpriseServices (dans System.EnterpriseServices.dll)

[SerializableAttribute]
public abstract class ServicedComponent : ContextBoundObject, 
	IRemoteDispatch, IDisposable, IServicedComponentInfo
/** @attribute SerializableAttribute */ 
public abstract class ServicedComponent extends ContextBoundObject implements IRemoteDispatch, 
	IDisposable, IServicedComponentInfo
public abstract class ServicedComponent extends ContextBoundObject implements IRemoteDispatch, IDisposable, IServicedComponentInfo

Dans certaines conditions, une classe dérivée de ServicedComponent qui s'exécute dans une application COM+ peut cesser de répondre. Ce problème est provoqué par un blocage d'activité. Les activités peuvent se bloquer sur les applications multithread à cause d'un nettoyage asynchrone de références de composant. Pour contourner ce problème, appelez la méthode Dispose lorsque vous avez fini de travailler avec des objets dérivés de ServicedComponent. Pour plus d'informations, consultez http://support.microsoft.com/default.aspx?scid=kb;en-us;327443.

Remarque :

Le code client doit appeler Dispose sur les composants traités pour garantir un fonctionnement correct.

L'exemple de code suivant montre comment exposer une classe en tant que composant COM configuré.

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


import System.*;
import System.EnterpriseServices.*;

/** @assembly ApplicationName("Calculator")
 */
/** @assembly ApplicationActivation(ActivationOption.Library)
 */
/** @assembly System.Reflection.AssemblyKeyFile("Calculator.snk")
 */
public class Calculator extends ServicedComponent
{
    public int Add(int x, int y)
    {
        return x + y;
    } //Add
} //Calculator


Pour déployer cette classe en tant que composant COM configuré, vous devez générer une clé forte, compiler la classe en tant que bibliothèque et enregistrer la bibliothèque. Ces trois étapes sont accomplies par les trois commandes suivantes.

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

Tous les membres static (Shared en Visual Basic) publics de ce type sont thread-safe. Il n'est pas garanti que les membres d'instance soient thread-safe.

Windows Vista, Windows XP SP2, Windows XP Media Center Edition, Windows XP Professionnel Édition x64, Windows XP Starter Edition, Windows Server 2003, Windows Server 2000 SP4, Windows Millennium Edition, Windows 98

Le .NET Framework et le .NET Compact Framework ne prennent pas en charge toutes les versions de chaque plateforme. Pour obtenir la liste des versions prises en charge, consultez Configuration requise du .NET Framework.

.NET Framework

Pris en charge dans : 3.5, 3.0, 2.0, 1.1, 1.0
Afficher: