Freigeben über


Verfahrensweise: Erstellen einer Serviced Component

Das folgende Verfahren beschreibt, wie eine neue Serviced Component erstellt wird.

So erstellen Sie eine Serviced Component

  1. Definieren Sie eine Klasse, die direkt oder indirekt von der ServicedComponent-Klasse abgeleitet wird. Der folgende Code stellt beispielsweise sicher, dass sich die Calculator-Klasse in einer COM+-Anwendung befindet.

    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);
        }
    }
    
  2. Wenden Sie Attribute an, um anzuzeigen, wie jede Assembly, Klasse oder Methode mit der COM+-Funktionalität interagieren soll.

    NoteHinweis:

    In .NET Framework, Version 1.1, ist die COM+-Sicherheitskonfiguration in der Standardeinstellung aktiviert, wenn das ApplicationAccessControlAttribute-Attribut in der Assembly nicht vorhanden ist. Dies stellt eine Änderung gegenüber .NET Framework, Version 1.0, dar.

    <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.
    }
    
  3. Generieren Sie einen starken Schlüssel, und kompilieren Sie folgendes Beispiel:

    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
    
  4. Stellen Sie die Serviced Component-Anwendung bereit, indem Sie ihre Assembly dynamisch oder manuell registrieren.

  5. Im Anschluss an die Registrierung einer Serviced Component können Clients Instanzen dieser Komponente auf dieselbe Weise erstellen, in der sie Instanzen aller anderen Komponenten erstellen. Ein vollständiges Beispiel finden Sie unter Beispiel für Serviced Components.

    NoteHinweis:

    Auf Windows 2000-Plattformen lädt COM+ immer die neuste Version der Common Language Runtime für die Komponente, die Sie gerade erstellen. Das bedeutet, dass auf einem Computer, auf dem sowohl .NET Framework, Version 1.0, als auch .NET Framework, Version 1.1, installiert sind, immer die .NET Framework-Version 1.1 geladen wird. Als Problemumgehung können Sie eine COM+-Datei dllhost.exe.configuration erstellen, mit deren Hilfe Sie bei allen Anwendungen die Verwendung einer bestimmten Version von .NET Framework "erzwingen" können. Auf Windows XP- und Windows Server 2003-Plattformen können Sie mit der Einstellung Anwendungsstammverzeichnis COM+ auf ein geeignetes Verzeichnis mit der Konfigurationsdatei verweisen.

Beispiel

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

Siehe auch

Referenz

ServicedComponent

Konzepte

Anwenden von Attributen zum Konfigurieren von COM+-Diensten
Registrieren von Serviced Components
Beispiel für Serviced Components
Zusammenfassung der verfügbaren COM+-Dienste

Weitere Ressourcen

Schreiben von Serviced Components

Footer image

Copyright © 2007 by Microsoft Corporation. Alle Rechte vorbehalten.