Cómo crear un componente revisado de .NET en Visual Basic.NET o Visual Basic 2005

Seleccione idioma Seleccione idioma
Id. de artículo: 312902 - Ver los productos a los que se aplica este artículo
Este artículo se ha archivado. Se ofrece "tal cual" y no se volverá a actualizar.
Expandir todo | Contraer todo

En esta página

Resumen

En este artículo paso a paso se muestra cómo crear un componente revisado de .NET que utiliza transacciones. Este artículo también muestra cómo crear a un cliente que comprueba su componente. Microsoft Enterprise Services proporciona servicios de Microsoft COM + a componentes .NET.

Notas importantes

  • Utilizar un nombre seguro para componentes de servicio.
  • Registrar componentes de servicio en la caché de ensamblados global (GAC) porque son los recursos del sistema. Instalar aplicaciones de servidor en la GAC. Microsoft recomienda que registre las aplicaciones de biblioteca en la GAC, aunque esto no es un requisito.
  • Puede utilizar cualquiera de los siguientes métodos para registrar componentes revisados con COM +:
    • Utilizar registro lento para registrar automáticamente los componentes revisados.
    • Utilice la utilidad Regsvcs.exe para registrar manualmente los componentes revisados. Regsvcs.exe se encuentra en la carpeta siguiente:
      \WINNT\Microsoft.NET\Framework\ Framework Version
      Para obtener más información acerca de Regsvcs.exe, vea Microsoft .NET documentación del Kit de desarrollo de software (SDK) de Framework.
  • Instalar a Microsoft SQL Server en el equipo local para utilizar el ejemplo en este artículo.
  • Este ejemplo sólo tiene propósito informativo. Puede utilizar la consulta SELECT que se muestra en el ejemplo fuera de una transacción debido a que COM + utiliza el mayor nivel de aislamiento para la transacción. Para mejorar el rendimiento de la base de datos, utilice una consulta de lectura para niveles de transacción inferiores.

Crear un componente con servicios .NET

  1. Cree un nuevo proyecto Biblioteca de clases de Visual Basic y asígnele el nombre ServicedCOM .
  2. Cambie el nombre la clase predeterminada VBServCom .
  3. Agregue una referencia al espacio de nombres System.EnterpriseServices .
  4. Escriba o pegue el siguiente código antes de la instrucción class:
    Imports System.EnterpriseServices
    Imports System.Data.SqlClient
    					
  5. Agregue el código siguiente después de la instrucción class:
        Inherits EnterpriseServices.ServicedComponent
    					
  6. Agregue el código siguiente antes de la instrucción class (no olvide el carácter de continuación de línea "_"):
    <Transaction(TransactionOption.RequiresNew)> _
    					
  7. Agregue los siguientes atributos al archivo AssemblyInfo.vb:
    <assembly: ApplicationActivation(ActivationOption.Library)>
    <assembly: ApplicationName("SimpleTrans")>
    						
    NOTES :
    • El atributo de ActivationOption indica si se iniciará el componente de proceso del llamador. Puede establecer Activation.Option en biblioteca o servidor .
    • El atributo ApplicationName es el nombre que aparece para la aplicación COM + en el catálogo y la consola de administración de servicios de componente.
  8. Agregue el siguiente atributo opcional al AssemblyInfo.vb archivo:
    <Assembly: Description("Simple Transactional application to show Enterprise Services")>
    						
    este atributo proporciona una descripción de la aplicación COM + en la consola de administración de servicios de componentes y catálogo de COM +.
  9. Agregue el método siguiente al archivo de Class1.vb o VBServCom.vb predeterminado si cambia el nombre el archivo y la clase:
        ' 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. Modifique la cadena SqlConnection para su entorno.

Dar a su ensamblado un nombre seguro

  1. Haga clic en Inicio , seleccione programas , elija Visual Studio.NET y haga clic en Herramientas de Visual Studio .NET para abrir un Visual Studio.NET símbolo del sistema.
  2. En el símbolo del sistema, escriba el comando siguiente:
    sn.exe -k ServicedCOM.snk
    Esto proporciona al ensamblado un nombre seguro.

    Para obtener más información acerca de Regsvcs.exe, consulte la documentación del Kit de desarrollo de software (SDK) de Microsoft .NET Framework.
  3. Copiar ServicedCOM.snk a la carpeta del proyecto.
  4. En el archivo AssemblyInfo.vb, reemplace el código AssemblykeyFile con el siguiente código:
    <Assembly: AssemblyKeyFile("..\\..\\ServicedCOM.snk")>
    					

Agregar su componente con servicios a COM+

Registrar el componente dinámicamente cuando se crea la primera instancia. O bien, puede registrar manualmente el componente con Regsvcs.exe. Para usar Regsvcs.exe, siga estos pasos:
  1. Haga clic en Inicio , seleccione programas , elija Visual Studio.NET y, a continuación, haga clic en Herramientas de Visual Studio .NET para abrir un símbolo del sistema de .NET.
  2. En un símbolo de comandos NET, escriba servicedcom.dll regsvcs .

    Así se crea una aplicación de biblioteca COM+ con el mismo nombre que el nombre de clase.

Probar su componente

  1. En el Bloc de notas de Microsoft, abra un archivo de texto.
  2. Copie el código siguiente en el archivo:
    set o =createobject("VBServCOM.VBServCOM")
    
    MsgBox o.DoTrans()
    					
  3. En el menú archivo , haga clic en Guardar .
  4. En el cuadro nombre de archivo , escriba Test.vbs . En la lista Guardar como tipo , haga clic en Todos los archivos y, a continuación, haga clic en Guardar .
  5. Haga doble clic en el archivo para ejecutar el ejemplo.

Propiedades

Id. de artículo: 312902 - Última revisión: lunes, 24 de febrero de 2014 - Versión: 5.5
La información de este artículo se refiere a:
  • Microsoft Enterprise Services (included with the .NET Framework) 1.0
  • Microsoft Visual Basic .NET 2002 Standard Edition
  • Microsoft Visual Basic .NET 2003 Standard Edition
  • Microsoft Visual Basic 2005
Palabras clave: 
kbnosurvey kbarchive kbmt kbhowtomaster KB312902 KbMtes
Traducción automática
IMPORTANTE: Este artículo ha sido traducido por un software de traducción automática de Microsoft (http://support.microsoft.com/gp/mtdetails) en lugar de un traductor humano. Microsoft le ofrece artículos traducidos por un traductor humano y artículos traducidos automáticamente para que tenga acceso en su propio idioma a todos los artículos de nuestra base de conocimientos (Knowledge Base). Sin embargo, los artículos traducidos automáticamente pueden contener errores en el vocabulario, la sintaxis o la gramática, como los que un extranjero podría cometer al hablar el idioma. Microsoft no se hace responsable de cualquier imprecisión, error o daño ocasionado por una mala traducción del contenido o como consecuencia de su utilización por nuestros clientes. Microsoft suele actualizar el software de traducción frecuentemente.
Haga clic aquí para ver el artículo original (en inglés): 312902

Enviar comentarios

 

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