Procedura: creare un componente servito
Nella procedura riportata di seguito viene illustrato come creare un nuovo componente servito.
Per creare un componente servito
Definire una classe che deriva direttamente oppure indirettamente dalla classe ServicedComponent. Il codice riportato di seguito, ad esempio, garantisce che la classe
Calculator
sia ospitata da un'applicazione COM+.Imports System.EnterpriseServices Public Class Account Inherits ServicedComponent Function Add (x as Integer, y as Integer) As Integer Add = x + y End Function End Class
using System.EnterpriseServices; public class Calculator : ServicedComponent { public int Add (int x, int y) { return(x+y); } }
Applicare gli attributi che specificano come ogni assembly, classe o metodo deve interagire con la funzionalità COM+.
Nota: In .NET Framework versione 1.1, se l'attributo ApplicationAccessControlAttribute non è presente nell'assembly, la configurazione di protezione viene attivata per impostazione predefinita. Questo comportamento è stato modificato rispetto a .NET Framework versione 1.0.
<Assembly: ApplicationName(“Calculator”)> <Assembly: System.Reflection.AssemblyKeyFile(“Calculator.snk”)> <MustRunInClientContext> _ Public Class Account Inherits ServicedComponent ‘ Member definitions. End Class
[assembly: ApplicationName("Calculator")] [assembly: System.Reflection.AssemblyKeyFile("Calculator.snk")] [MustRunInClientContext] public class Calculator : ServicedComponent { // Member definitions. }
Generare una chiave sicura e compilare l'esempio riportato di seguito:
sn –k Calculator.snk vbc /t:library /r:System.EnterpriseServices.dll Calculator.vb
sn –k Calculator.snk csc /t:library /r:System.EnterpriseServices.dll Calculator.cs
Distribuire l'applicazione del componente servito mediante la registrazione dinamica o manuale del relativo assembly.
Dopo la registrazione di un componente servito, i client possono creare istanze del componente nello stesso modo in cui creano le istanze degli altri componenti. Per un esempio completo, vedere Esempio di componente servito.
Nota: Sulle piattaforme Windows 2000, COM+ carica sempre la versione più recente di Common Language Runtime per il componente che si sta creando. Pertanto, su un computer in cui sono installati sia .NET Framework versione 1.0 sia .NET Framework versione 1.1, verrà sempre caricato .NET Framework versione 1.1. È tuttavia possibile creare un file dllhost.exe.configuration di COM+ che consenta di utilizzare in tutte le applicazioni una versione specifica di .NET Framework. Sulle piattaforme Windows XP e Windows Server 2003 è possibile specificare la directory per il file di configurazione di COM+ tramite l'impostazione Directory principale applicazione.
Esempio
Imports System.EnterpriseServices
<Assembly: ApplicationName(“Calculator”)>
<Assembly: System.Reflection.AssemblyKeyFile(“Calculator.snk”)>
<MustRunInClientContext> _
Public Class Account
Inherits ServicedComponent
Function Add (x as Integer, y as Integer) As Integer
Add = x + y
End Function
End Class
using System.EnterpriseServices;
[assembly: ApplicationName("Calculator")]
[assembly: System.Reflection.AssemblyKeyFile("Calculator.snk")]
[MustRunInClientContext]
public class Calculator : ServicedComponent
{
public int Add (int x, int y)
{
return(x+y);
}
}
Vedere anche
Riferimenti
Concetti
Applicazione di attributi per la configurazione dei servizi COM+
Registrazione dei componenti serviti
Esempio di componente servito
Riepilogo dei servizi COM+ disponibili
Altre risorse
Scrittura dei componenti serviti
Copyright © 2007 Microsoft Corporation. Tutti i diritti riservati.