Como criar um serviço componente .NET no Visual Basic.NET ou Visual Basic 2005

Traduções de Artigos Traduções de Artigos
Artigo: 312902 - Ver produtos para os quais este artigo se aplica.
Este artigo foi arquivado. Este artigo é oferecido "tal como está" e deixará de ser actualizado.
Expandir tudo | Reduzir tudo

Nesta página

Sumário

Este artigo passo a passo demonstra como criar um componente .NET prestado pelo transacções. Este artigo também demonstra como criar um cliente que testa o componente de serviço. Microsoft Enterprise Services fornece serviços de Microsoft COM + para componentes .NET.

Notas importantes

  • Utilize um nome seguro para um serviço componentes.
  • Registar componentes de serviço na cache de assemblagem global (GAC) porque são recursos de nível do sistema. Instale aplicações de servidor na GAC. A Microsoft recomenda que registe as aplicações de biblioteca na GAC, embora não seja um requisito.
  • Pode utilizar um dos seguintes métodos para registar componentes de serviço com +:
    • Utilize registo lento para registar automaticamente componentes de serviço.
    • Utilize o utilitário regsvcs.exe para registar manualmente o serviço de componentes. Regsvcs.exe está localizado na seguinte pasta:
      \WINNT\Microsoft.NET\Framework\ Framework Version
      Para obter mais informações sobre regsvcs.exe, consulte o Microsoft .NET documentação Framework Software Development Kit (SDK).
  • Instale o Microsoft SQL Server no computador local para utilizar o exemplo neste artigo.
  • Este exemplo destina-se apenas de motivos de ilustração. Pode utilizar a consulta SELECT mostrada no exemplo fora de uma transacção COM + porque + utiliza o mais alto nível de isolamento para a transacção. Para melhorar o débito de base de dados, utilize uma consulta READ para níveis inferiores da transacção.

Criar o componente .NET prestado

  1. Criar um novo projecto de biblioteca de classes do Visual Basic e o nome ServicedCOM .
  2. Mude o nome a classe predefinida para VBServCom .
  3. Adicione uma referência ao espaço de nomes System.EnterpriseServices .
  4. Escreva ou cole o seguinte código antes da declaração de classe:
    Imports System.EnterpriseServices
    Imports System.Data.SqlClient
    					
  5. Adicione o seguinte código depois da declaração de classe:
        Inherits EnterpriseServices.ServicedComponent
    					
  6. Adicione o seguinte código antes da declaração de classe (não esquecer o carácter de continuação de linha "_"):
    <Transaction(TransactionOption.RequiresNew)> _
    					
  7. Adicione os seguintes atributos ao ficheiro AssemblyInfo.vb:
    <assembly: ApplicationActivation(ActivationOption.Library)>
    <assembly: ApplicationName("SimpleTrans")>
    						
    notas :
    • O atributo ActivationOption indica se o componente será iniciado no processo do emissor. Pode definir Activation.Option para biblioteca ou servidor .
    • O atributo ApplicationName é o nome que aparece para a aplicação COM + no catálogo do COM + e a consola de administração de serviços de componentes.
  8. Adicionar o seguinte atributo opcional a AssemblyInfo.vb ficheiro:
    <Assembly: Description("Simple Transactional application to show Enterprise Services")>
    						
    este atributo fornece uma descrição para a aplicação COM + na consola do catálogo do COM + e administração de serviços de componentes.
  9. Adicione o seguinte método ao ficheiro Class1.vb ou VBServCom.vb predefinido se mudasse o nome de ficheiro e a 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. Modificar a cadeia SqlConnection para o seu ambiente.

Atribuir a assemblagem um nome seguro

  1. Clique em Iniciar , aponte para programas , aponte para Microsoft Visual Studio .NET e clique em Ferramentas do Visual Studio .NET para abrir o Visual Studio .NET linha de comandos.
  2. Na linha de comandos, escreva o seguinte comando:
    sn.exe -k ServicedCOM.snk
    Isto permite a assemblagem um nome seguro.

    Para obter mais informações sobre regsvcs.exe, consulte a documentação do Microsoft .NET Framework Software Development Kit (SDK).
  3. Copie ServicedCOM.snk para a pasta de projecto.
  4. No ficheiro AssemblyInfo.vb, substitua o código AssemblykeyFile com o seguinte código:
    <Assembly: AssemblyKeyFile("..\\..\\ServicedCOM.snk")>
    					

Adicionar o componente de serviço COM +

Registe o componente dinamicamente quando é criada a primeira ocorrência. Ou, pode registar manualmente o componente com regsvcs.exe. Para utilizar regsvcs.exe, siga estes passos:
  1. Clique em Iniciar , aponte para programas , aponte para Microsoft Visual Studio .NET e clique em Ferramentas do Visual Studio .NET para abrir uma linha de comandos NET.
  2. Na .NET comandos, escreva servicedcom.dll regsvcs .

    Isto cria uma aplicação de biblioteca do COM + com o mesmo nome que o nome da classe.

Testar o componente

  1. No bloco de notas da Microsoft, abra um ficheiro de texto.
  2. Copiar o seguinte código para o ficheiro:
    set o =createobject("VBServCOM.VBServCOM")
    
    MsgBox o.DoTrans()
    					
  3. No menu ficheiro , clique em Guardar .
  4. Na caixa nome do ficheiro , escreva Test.vbs . Na lista Guardar com o tipo , clique em Todos os ficheiros e, em seguida, clique em Guardar .
  5. Faça duplo clique no ficheiro para executar o exemplo.

Propriedades

Artigo: 312902 - Última revisão: 24 de fevereiro de 2014 - Revisão: 5.5
A informação contida neste artigo aplica-se 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
Palavras-chave: 
kbnosurvey kbarchive kbmt kbhowtomaster KB312902 KbMtpt
Tradução automática
IMPORTANTE: Este artigo foi traduzido por um sistema de tradução automática (também designado por Machine translation ou MT), não tendo sido portanto revisto ou traduzido por humanos. A Microsoft tem artigos traduzidos por aplicações (MT) e artigos traduzidos por tradutores profissionais. O objectivo é simples: oferecer em Português a totalidade dos artigos existentes na base de dados do suporte. Sabemos no entanto que a tradução automática não é sempre perfeita. Esta pode conter erros de vocabulário, sintaxe ou gramática? erros semelhantes aos que um estrangeiro realiza ao falar em Português. A Microsoft não é responsável por incoerências, erros ou estragos realizados na sequência da utilização dos artigos MT por parte dos nossos clientes. A Microsoft realiza actualizações frequentes ao software de tradução automática (MT). Obrigado.
Clique aqui para ver a versão em Inglês deste artigo: 312902

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