Comment faire pour créer un composant .NET réparé dans Visual Basic.NET ou Visual Basic 2005

Traductions disponibles Traductions disponibles
Numéro d'article: 312902 - Voir les produits auxquels s'applique cet article
Cet article a été archivé. Il est proposé « en l'état » et ne sera plus mis à jour.
Agrandir tout | Réduire tout

Sommaire

Résumé

Cet article étape par étape explique comment créer un composant .NET réparé qui utilise des transactions. Cet article explique également comment créer un client qui teste votre composant de service. Microsoft Enterprise Services fournit des services Microsoft COM + aux composants .NET.

Remarques importantes

  • Utilisez un nom fort pour un service composants.
  • Enregistrer un composants service dans le Global Assembly Cache (GAC) car ils sont des ressources au niveau du système. Installer des applications serveur dans le GAC. Microsoft recommande que vous enregistrez des applications de bibliothèque dans le GAC, bien que cela ne soit pas une exigence.
  • Vous pouvez utiliser une des méthodes suivantes pour enregistrer les composants Service avec COM + :
    • Enregistrement différée permet d'enregistrer les composants Service automatiquement.
    • Utiliser l'utilitaire Regsvcs.exe pour enregistrer les composants service manuellement. Regsvcs.exe se trouve dans le dossier suivant :
      \WINNT\Microsoft.NET\Framework\ Framework Version
      Pour plus d'informations sur Regsvcs.exe, consultez le Microsoft .NET Framework Software documentation du Kit de développement (SDK).
  • Installez Microsoft SQL Server sur l'ordinateur local pour utiliser l'exemple dans cet article.
  • Cet exemple est destiné uniquement. Vous pouvez utiliser la requête SELECT affichée dans l'échantillon en dehors d'une transaction COM + parce que COM + utilise le niveau d'isolation le plus élevé pour la transaction. Pour améliorer le débit de base de données, utiliser une requête en lecture des niveaux de transaction inférieur.

Créer le composant .NET réparé

  1. Créez un nouveau projet de bibliothèque de classes Visual Basic et nommez-le ServicedCOM .
  2. Renommez la classe par défaut VBServCom .
  3. Ajouter une référence à l'espace de noms System.EnterpriseServices .
  4. Tapez ou collez le code suivant avant l'instruction classe :
    Imports System.EnterpriseServices
    Imports System.Data.SqlClient
    					
  5. Ajoutez le code suivant après l'instruction classe :
        Inherits EnterpriseServices.ServicedComponent
    					
  6. Ajoutez le code suivant avant la déclaration de classe (n'oubliez pas le caractère de suite ligne « _ »):
    <Transaction(TransactionOption.RequiresNew)> _
    					
  7. Ajouter les attributs suivants au fichier AssemblyInfo.vb :
    <assembly: ApplicationActivation(ActivationOption.Library)>
    <assembly: ApplicationName("SimpleTrans")>
    						
    NOTES :
    • L'attribut ActivationOption indique si le composant sera démarré en cours de l'appelant. Vous pouvez définir Activation.Option dans bibliothèque ou serveur .
    • L'attribut ApplicationName est le nom qui apparaît pour l'application COM + dans le catalogue COM + et de la console d'administration Services de composants.
  8. Ajoutez l'attribut facultatif suivant à la AssemblyInfo.vb fichier :
    <Assembly: Description("Simple Transactional application to show Enterprise Services")>
    						
    cet attribut fournit une description de l'application COM + dans la console catalogue COM + et Administration de services de composants.
  9. Ajouter la méthode suivante au fichier Class1.vb ou VBServCom.vb par défaut si vous avez renommé le fichier et de la classe :
        ' Shows Explicit SetComplete/SetAbort.
        Public Function DoTrans() As String
            Dim connection As SqlConnection
            Dim command As SqlCommand
            Dim reader As SqlDataReader
            Dim name As String
            Dim query As String
    
            Try
                query = "SELECT au_lname, au_fname FROM authors"
                connection = New SqlConnection("data source=localhost;initial catalog = pubs;UID=sa;PWD=")
                command = New SqlCommand(query, connection)
    
                connection.Open()
                reader = command.ExecuteReader()
    
                reader.Read()
                name = reader.GetString(0) & ", " & reader.GetString(1)
            Catch exc As Exception
                ContextUtil.SetAbort()
                Throw exc
            End Try
            DoTrans = name
        End Function
    
        ' Show implicit SetComplete/SetAbort.
        <AutoComplete(True)> _
        Public Sub DoTxAuto()
            'Do stuff
        End Sub
    					
  10. Modifier la chaîne SqlConnection pour votre environnement.

Donner un nom fort à votre assembly

  1. Cliquez sur Démarrer , pointez sur programmes , pointez sur Visual Studio .NET , puis cliquez sur Outils de Visual Studio .NET pour ouvrir un Visual Studio .NET invite de commande.
  2. À l'invite de commandes, tapez la commande suivante :
    Sn.exe-k ServicedCOM.snk
    Ainsi votre assembly un nom fort.

    Pour plus d'informations Regsvcs.exe, consultez la documentation de Microsoft .NET Framework Kit de développement (SDK).
  3. Copiez ServicedCOM.snk dans le dossier de projet.
  4. Dans le fichier AssemblyInfo.vb, remplacez le code AssemblykeyFile par le code suivant :
    <Assembly: AssemblyKeyFile("..\\..\\ServicedCOM.snk")>
    					

Ajouter votre composant de service à COM +

Vous enregistrer le composant dynamiquement lorsque la première instance est créée. Ou, vous pouvez enregistrer manuellement le composant avec Regsvcs.exe. Pour utiliser Regsvcs.exe, procédez comme suit :
  1. Cliquez sur Démarrer , pointez sur programmes , pointez sur Visual Studio .NET et puis cliquez sur Outils de Visual Studio .NET pour ouvrir une invite de commande .NET.
  2. À une invite de commandes .NET, tapez regsvcs servicedcom.dll .

    Cela crée une application de bibliothèque COM + portant le même nom que votre nom de classe.

Tester votre composant

  1. Dans le Bloc-notes Microsoft, ouvrez un fichier texte.
  2. Copiez le code suivant dans le fichier :
    set o =createobject("VBServCOM.VBServCOM")
    
    MsgBox o.DoTrans()
    					
  3. Dans le menu Fichier , cliquez sur Enregistrer .
  4. Dans la zone Nom de fichier , tapez Test.vbs . Dans la liste type de fichier , cliquez sur tous les fichiers , puis cliquez sur Enregistrer .
  5. Double-cliquez sur le fichier pour exécuter l'exemple.

Propriétés

Numéro d'article: 312902 - Dernière mise à jour: lundi 24 février 2014 - Version: 5.5
Les informations contenues dans cet article s'appliquent au(x) produit(s) suivant(s):
  • Microsoft Enterprise Services (included with the .NET Framework) 1.0
  • Microsoft Visual Basic .NET 2002 Initiation
  • Microsoft Visual Basic .NET 2003 Initiation
  • Microsoft Visual Basic 2005
Mots-clés : 
kbnosurvey kbarchive kbmt kbhowtomaster KB312902 KbMtfr
Traduction automatique
IMPORTANT : Cet article est issu du système de traduction automatique mis au point par Microsoft (http://support.microsoft.com/gp/mtdetails). Un certain nombre d?articles obtenus par traduction automatique sont en effet mis à votre disposition en complément des articles traduits en langue française par des traducteurs professionnels. Cela vous permet d?avoir accès, dans votre propre langue, à l?ensemble des articles de la base de connaissances rédigés originellement en langue anglaise. Les articles traduits automatiquement ne sont pas toujours parfaits et peuvent comporter des erreurs de vocabulaire, de syntaxe ou de grammaire (probablement semblables aux erreurs que ferait une personne étrangère s?exprimant dans votre langue !). Néanmoins, mis à part ces imperfections, ces articles devraient suffire à vous orienter et à vous aider à résoudre votre problème. Microsoft s?efforce aussi continuellement de faire évoluer son système de traduction automatique.
La version anglaise de cet article est la suivante: 312902
L'INFORMATION CONTENUE DANS CE DOCUMENT EST FOURNIE PAR MICROSOFT SANS GARANTIE D'AUCUNE SORTE, EXPLICITE OU IMPLICITE. L'UTILISATEUR ASSUME LE RISQUE DE L'UTILISATION DU CONTENU DE CE DOCUMENT. CE DOCUMENT NE PEUT ETRE REVENDU OU CEDE EN ECHANGE D'UN QUELCONQUE PROFIT.

Envoyer des commentaires

 

Contact us for more help

Contact us for more help
Connect with Answer Desk for expert help.
Get more support from smallbusiness.support.microsoft.com