COMO: Criar um componente de serviço do .NET no Visual translation from VPE for Csharp .NET

Traduções deste artigo Traduções deste artigo
ID do artigo: 306296 - Exibir os produtos aos quais esse artigo se aplica.
Expandir tudo | Recolher tudo

Neste artigo

Sumário

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

Observações importantes

  • Componentes de serviço requerem nomes de alta segurança.
  • Componentes de serviço devem ser registrados no GAC (cache de assembly global) porque eles são recursos do sistema. Aplicativos de servidor requerem instalação no GAC, mas os aplicativos de biblioteca fazem não (embora seja recomendável).
  • Você pode registrar os componentes de serviço com + automaticamente através de registro lento ou manualmente através do utilitário RegSvcs.exe. RegSvcs.exe está localizado na seguinte pasta:
    \WINNT\Microsoft.NET\Framework\ < versão do Framework >
    Para obter mais informações sobre RegSvcs.exe, consulte a documentação do Software Development Kit (SDK) do Microsoft .NET Framework.
  • Este exemplo pressupõe que o Microsoft SQL Server foi instalado no computador local.
  • Este exemplo é direcionado somente para fins de ilustração. Estritamente falando, consulta de seleção neste exemplo é um bom candidato para executar fora de uma transação COM + porque + usa o mais alto nível de isolamento da transação. Para melhorar a taxa de transferência do banco de dados, é recomendável prática considere leitura consultas para níveis inferiores de transação de programação.

Criar o componente de serviço do .NET

  1. Crie um novo projeto de Visual translation from VPE for Csharp Class Library chamado ServicedCOM.
  2. Renomear a classe padrão e o nome do arquivo de Class1.cs para SimpleTrans.cs . Para fazer isso, execute as seguintes etapas:
    1. Na janela Class View, clique com o botão direito do mouse em Class1 e, em seguida, clique em Propriedades .
    2. Em Propriedades , altere a propriedade Name para SimpleTrans .
  3. Adicione uma referência ao namespace System.EnterpriseServices .
  4. Adicionar a instrução a seguir, como a linha superior à SimpleTrans.cs e AssemblyInfo.cs :
    using System.EnterpriseServices;
    na parte superior da SimpleTrans.cs adicione a seguinte instrução:
    using System.Data.SqlClient;
  5. Herdar sua classe ServicedComponent (nome totalmente qualificado: System.EnterpriseServices.ServicedComponent ).
  6. Adicione o seguinte código antes do * pública classe 1 declaração:
    [Transaction(TransactionOption.RequiresNew)]
    					
  7. Adicione o seguinte recomendável atributos AssemblyInfo.cs :
    [assembly: ApplicationActivation(ActivationOption.Library)]
    [assembly: ApplicationName("SimpleTrans")]	
    					
    • O atributo ActivationOption indica se o componente será ativado no processo do chamador. Você pode definir Activation.Option para biblioteca ou servidor .
    • O atributo ApplicationName é o nome que aparece para o aplicativo COM + no catálogo COM + e o console de administração de serviços de componente.
  8. Adicione o atributo opcional seguinte ao SimpleTrans.cs , logo após o usando instruções:
    [assembly: Description("Simple Transactional application to show Enterprise Services")]
    						
    este atributo fornece uma descrição para o aplicativo COM + no console de administração de serviços de componente e de catálogo COM +.
  9. Adicione o seguinte método para SimpleTrans.cs :
    // Demos Explicit SetComplete/SetAbort
            public string DoTrans()
            {
                SqlConnection	connection;
                SqlCommand		command; 
                SqlDataReader	reader;
                string		name;
                string		query;
    		
                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(Exception exc)
                {
                    ContextUtil.SetAbort();
                    throw exc;
                }
                return name;
        }
    // Demo implicit SetComplete/SetAbort
    [AutoComplete]
    public void DoTxAuto()
    {
        // Do stuff
    }
    					
  10. Modificar a seqüência SqlConnection conforme apropriado para seu ambiente.

Dar um nome forte do assembly

  1. Clique em Iniciar , aponte para programas , aponte para Microsoft Visual Studio. NET , aponte para Visual Studio .NET Tools e, em seguida, clique em Visual Studio .NET Command Prompt .
  2. No prompt de comando, digite sn.exe -k ServicedCOM.snk para dar seu assembly um nome de alta segurança.

    Para obter informações sobre assinatura de assemblies com nomes fortes, consulte a documentação do .NET Framework Software Development Kit (SDK).
  3. Copie ServicedCOM.snk para a pasta de projeto.
  4. No AssemblyInfo.cs, substitua o código AssemblykeyFile com o código a seguir:
    [assembly: AssemblyKeyFile("..\\..\\ServicedCOM.snk")]
    					

Adicione o componente serviço para COM +

Você pode permitir que o componente para registrar dinamicamente quando a primeira instância é criada, ou você pode registrar manualmente o componente com RegSvcs.exe. Para usar RegSvcs.exe, execute estas etapas:
  1. Clique em Iniciar , aponte para programas , aponte para Microsoft Visual Studio. NET , aponte para Visual Studio .NET Tools e, em seguida, clique em Visual Studio .NET Command Prompt .
  2. No prompt de comando, digite servicedcom.dll regsvcs . Isso cria um aplicativo de biblioteca do COM + com o mesmo nome de seu nome de classe. Ignore a mensagem de aviso.

Testar o componente

  1. No bloco de notas, abra um arquivo de texto.
  2. Cole o código a seguir no arquivo:
    set o =createobject("ServicedCOM.SimpleTrans")
    
    MsgBox o.DoTrans()
    					
  3. No menu arquivo , clique em Salvar .
  4. Na caixa de diálogo Salvar como , na caixa de texto nome do arquivo , digite Test.vbs . Na lista Salvar como tipo , clique em Todos os arquivos e, em seguida, clique em Salvar .
  5. Clique duas vezes o arquivo para executar a amostra.

Propriedades

ID do artigo: 306296 - Última revisão: quinta-feira, 18 de setembro de 2003 - Revisão: 4.1
A informação contida neste artigo aplica-se a:
  • Microsoft Enterprise Services (included with the .NET Framework) 1.0
  • Microsoft Visual C# .NET 2002 Standard Edition
Palavras-chave: 
kbmt kbhowtomaster KB306296 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 traduzido ou revisto por pessoas. A Microsoft possui artigos traduzidos por aplicações (MT) e artigos traduzidos por tradutores profissionais, com o objetivo de oferecer em português a totalidade dos artigos existentes na base de dados de suporte. No entanto, a tradução automática não é sempre perfeita, podendo conter erros de vocabulário, sintaxe ou gramática. A Microsoft não é responsável por incoerências, erros ou prejuízos ocorridos em decorrência da utilização dos artigos MT por parte dos nossos clientes. A Microsoft realiza atualizações freqüentes ao software de tradução automática (MT). Obrigado.
Clique aqui para ver a versão em Inglês deste artigo: 306296

Submeter comentários

 

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