Ce sujet n'a pas encore été évalué - Évaluez ce sujet

ServicedComponent, classe

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

RemarqueRemarque

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
Les membres statiques publics (Shared en Visual Basic) de ce type sont thread-safe. Il n'est pas garanti que les membres d'instance soient thread-safe.

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

Le .NET Framework ne prend pas en charge toutes les versions de chaque plate-forme. Pour obtenir la liste des versions prises en charge, consultez Configuration requise.

.NET Framework

Prise en charge dans : 2.0, 1.1, 1.0
Cela vous a-t-il été utile ?
(1500 caractères restants)

Ajouts de la communauté

AJOUTER
© 2013 Microsoft. Tous droits réservés.