COMO: Criar um componente do serviço .NET no Visual C# .NET

Traduções de Artigos Traduções de Artigos
Artigo: 306296 - Ver produtos para os quais este artigo se aplica.
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

  • Componentes de serviço requerem nomes seguros.
  • Componentes de serviço devem ser registados na cache de assemblagem global (GAC) porque são recursos de nível do sistema. Aplicações de servidor requerem a instalação na GAC, mas as aplicações de biblioteca fazer não (Embora seja recomendado).
  • Pode registar componentes de serviço com + automaticamente através de registo 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 Microsoft .NET Framework Software Development Kit (SDK).
  • Este exemplo pressupõe que o Microsoft SQL Server tiver sido instalado no computador local.
  • Este exemplo destina-se apenas de motivos de ilustração. Estritamente geral, consulta selecção este exemplo é um bom candidato a ser executada 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, é boa prática considerar leitura consultas de níveis inferiores de transacção de programação.

Criar o componente do serviço .NET

  1. Crie um novo projecto de biblioteca Visual C# classe denominado ServicedCOM.
  2. Mudar o nome da classe predefinida e o nome de ficheiro do Class1.cs para SimpleTrans.cs . para o fazer, siga estes passos:
    1. Na janela classe ver, clique com o botão direito do rato Aula1 e, em seguida, clique em Propriedades .
    2. Em Propriedades , altere a propriedade Name para SimpleTrans .
  3. Adicione uma referência ao espaço de nomes System.EnterpriseServices .
  4. Adicionar a seguinte instrução, 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 da classe de ServicedComponent (nome totalmente qualificado: System.EnterpriseServices.ServicedComponent ).
  6. Adicione o seguinte código mesmo antes de * pública classe * declaração:
    [Transaction(TransactionOption.RequiresNew)]
    					
  7. Adicione o seguinte recomendado atributos para AssemblyInfo.cs :
    [assembly: ApplicationActivation(ActivationOption.Library)]
    [assembly: ApplicationName("SimpleTrans")]	
    					
    • O atributo ActivationOption indica se o componente será activado dentro de processo do emissor. Pode definir Activation.Option 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 SimpleTrans.cs , apenas depois do utilizar instruções:
    [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 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 cadeia SqlConnection conforme apropriado para o ambiente.

Atribuir um nome seguro de assemblagem

  1. Clique em Iniciar , aponte para programas , aponte para Microsoft Visual Studio. NET , aponte para Ferramentas do Visual Studio .NET e, em seguida, clique em Visual Studio .NET Command Prompt .
  2. Na linha de comandos, escreva sn.exe -k ServicedCOM.snk para dar a assemblagem um nome seguro.

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

Adicionar o componente de serviço COM +

Pode permitir que o componente para registar dinamicamente quando é criada a primeira instâ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 , aponte para Ferramentas do Visual Studio .NET e, em seguida, clique em Visual Studio .NET Command Prompt .
  2. Na linha de comandos, escreva servicedcom.dll regsvcs . Isto cria uma aplicação de biblioteca do COM + com o mesmo nome que o nome da classe. Ignore a mensagem de aviso.

Testar o componente

  1. No bloco de notas, abra um ficheiro de texto.
  2. Cole o código seguinte no ficheiro:
    set o =createobject("ServicedCOM.SimpleTrans")
    
    MsgBox o.DoTrans()
    					
  3. No menu ficheiro , clique em Guardar .
  4. Na caixa de diálogo Guardar como , na caixa de texto 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: 306296 - Última revisão: 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 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: 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