Você está na página 1de 7

Demonstra Passo a passo: Criando um

Aplicativo Windows Service no Designer


de Componentes
Visual Studio 2010

The Windows Service template and associated functionality is not available in the Standard Edition of Visual Studio.

Os procedimentos neste tópico demonstram a criação de um aplicativo Windows Service


simples que grava mensagens em um log de eventos. As etapas básicas executadas para
criar e usar seu serviço incluem o seguinte:

 Criar um projeto usando o Windows Service o modelo de aplicativo. Este modelo,


cria uma classe para você, que herda de ServiceBase e escreve o código básico do
serviço, tal como o código que inicia o serviço.

 Escreve o código para os procedimentos OnStart e OnStop, e sobrescreve qualquer


outro metodo que você queira redefinir.

 Adicione os instaladores necessários para seu o aplicativo de serviço. Por padrão,


uma classe que contém dois ou mais instaladores é adicionada ao seu aplicativo
quando você clica no Add Installer link: um para instalar o processo e um para
cada associada ao serviço que seu projeto contém.

 Crie o seu projeto.

 Crie um Projeto de Setup para instalar seu serviço, e em siguida instale-o.

 Acesse o Gerenciador de Controle de Serviços do Windows 2000 e inicie seu


serviço.

Para começar, você pode cria o projeto e define os valores que são necessários para o
serviço funcione corretamente.

Observação

Seu computador pode mostrar nomes ou locais diferentes para alguns dos elementos da interface do usuário do Visual

Studio nas instruções a seguir. A edição do Visual Studio que você possui e as configurações que você usa determinam

esses elementos. Para obter mais informações, consulte Configurações do Visual Studio.


Creating a Service
To create and configure your service

1. No menu File, clique em New Project.

A Caixa de diálogo New Project é aberta.

2. Selecione Windows Service na lista de modelos de projeto do Visual Basic ou Visual


C#, e nomeie o projeto MyNewService.
Clique em OK.

Observação

O modelo de projeto automaticamente adiciona uma classe componente chamada Service1 que herda de

 System.ServiceProcess.ServiceBase.

3. Click the designer to select Service1. Em seguida, na janela de Propriedades,


defina o ServiceName e a propriedade (Name) do Service1 para MyNewService.

Adding Features to the Service


Na próxima seção, você pode adicionar um log de eventos personalizado para o serviço do
Windows. Logs de eventos não são associados de forma alguma ao Windows Services. Aqui
o EventLog componente é usado como um exemplo do tipo de componente, você pode
adicionar a um serviço do Windows.

To add custom event log functionality to your service

1. Em Solution Explorer, com o botão direito Service1. vb ou Service1. cs e


selecione View Designer.

2. Na guia de componentes do Toolbox, arraste um componente EventLog para o


designer.

3. Em Solution Explorer, com o botão direito Service1. vb ou Service1. cs e


selecione Exibir código.

4. Adicione ou edite o construtor para definir um log de eventos personalizado.

public MyNewService()
{
InitializeComponent();
if (!System.Diagnostics.EventLog.SourceExists("MySource"))
{
System.Diagnostics.EventLog.CreateEventSource("MySource","MyNewLog");
}
eventLog1.Source = "MySource";
eventLog1.Log = "MyNewLog";
}

Para definir o que ocorre quando o serviço é iniciado

 No editor de códigos, localize o método OnStart que foi substituído


automaticamente quando você criou o projeto, e escreva o código para determinar
o que ocorre quando o serviço começa a ser executado:

protected override void OnStart(string[] args)


{
eventLog1.WriteEntry("In OnStart");
}

Observação

A service application is designed to be long running. Portanto, ele geralmente controla ou monitora algo no

sistema. A monitoração é configurada no OnStartmétodo. No entanto, OnStart na verdade não o

monitoramento. O OnStart método deve retornar para o sistema operacional depois de iniciada a operação

do serviço. Ele não deve entrar em loop contínuo ou bloquear. Para configurar o mecanismo de pesquisa

simples, você pode usar o System.Timers.Timer componente.No método OnStart , você definiria parâmetros

no componente e, em seguida, você definiria a propriedade Enabled como true. The timer would then raise

events in your code periodically, at which time your service could do its monitoring.

Para definir o que ocorre quando o serviço for interrompido

 No Editor de código, selecione o OnStop procedimento a partir de Nome do


método na lista suspensa, que foi substituída automaticamente quando você criou
o projeto. Write code to determine what occurs when the service is stopped:

protected override void OnStop()


{
eventLog1.WriteEntry("In onStop.");
}

Você também pode substituir o OnPause, OnContinue, e OnShutdown métodos para


definir um adicional de processamento para o componente.

To define other actions for the service

 Para o método que você deseja manipular, substitua o método apropriado e definir
o que você deseja que ocorra.

O código a seguir mostra sua aparência se você substituir o OnContinue método:

protected override void OnContinue()


{
eventLog1.WriteEntry("In OnContinue.");
}

Algumas ações personalizadas precisam ocorrer quando um serviço do Windows é


instalado, o que pode ser feito o Installer classe. Visual Studio can create these installers
specifically for a Windows service and add them to your project.

To create the installers for your service

1. Em Solution Explorer, com o botão direito Service1. vb ou Service1. cs e


selecione View Designer.

2. Clique em plano de fundo do designer para selecionar o serviço propriamente dito,


em vez de um de seus conteúdos.

3. With the designer in focus, right-click, and then click Add Installer.

Por padrão, uma classe componente contendo dois instaladores é adicionada ao


seu projeto. The component is named ProjectInstaller, and the installers it contains
are the installer for your service and the installer for the service's associated
process.

4. In Design view for ProjectInstaller, click ServiceInstaller1 or serviceInstaller1.

5. No Propriedades janela, certifique-se a ServiceName for definida como


MyNewService.

6. Set the StartType property to Automatic.

7. No designer, clique em ServiceProcessInstaller1 (para um projeto de Visual Basic),


ou serviceProcessInstaller1 (para um projeto do Visual C#). Set
the Accountproperty to LocalSystem. Isso fará com que o serviço seja instalado e
executado em uma conta de serviço local.

Observação sobre segurança

O LocalSystem conta tem permissões no amplas, incluindo a capacidade de gravar no log de eventos. Use ess
contra softwares mal-intencionados. Para outras tarefas, considere o uso de LocalService conta, que atua como
credenciais anônimas para qualquer servidor remoto.

To build your service project

1. Em Solution Explorer, seu projeto com o botão direito e, em seguida, clique


em Propriedades. The project's Property Designer appears.

2. Na página de aplicativo, da o objeto de inicialização , clique em MyNewService.

3. Press CTRL+SHIFT+B to build the project.

Now that the project is built, it can be deployed. Um projeto de instalação instalará os
arquivos de projeto compilado e executar os instaladores necessários para executar o
serviço do Windows. Para criar um projeto de concluir a instalação, você terá que adicionar
a saída do projeto, MyNewService, a configuração de projeto e adicione uma ação
personalizada para ter MyNewService instalado. Para obter mais informações sobre
projetos de instalação, consulte Setup and Deployment Projects. Para obter mais
informações sobre ações personalizadas, consulte Walkthrough: Criando uma ação
personalizada.

To create a setup project for your service

1. Em Solution Explorer, clique com o botão direito na sua solução, aponte


para Adde em seguida, clique em Novo projeto.

2. Em Modelos instalados, expanda Other Project Types e, em seguida,


expanda Setup and Deployment.

3. Selecione Visual Studio Installer de.

4. In the Templates pane, select Setup Project. Name the


project MyServiceSetup. Clique em OK.

A setup project is added to the solution.

Next you will add the output from the Windows service project, MyNewService.exe, to the
setup.

To add MyNewService.exe to the setup project

1. Em Solution Explorer, com o botão direito MyServiceSetup, aponte para Adde


em seguida, clique em A saída de projeto.
The Add Project Output Group dialog box appears.

2. MyNewService is selected in the Project box.

3. Na lista, selecione Saída principale clique em OK.

A project item for the primary output of MyNewService is added to the setup
project.

Now add a custom action to install the MyNewService.exe file.

To add a custom action to the setup project

1. In Solution Explorer, right-click the setup project, point to View, and then
click Custom Actions.

The Custom Actions editor appears.

2. No Custom Actions editor, clique com botão direito do Custom Actions nó e


clique em Add Custom Action.

The Select Item in Project dialog box appears.

3. Clique duas vezes o A pasta de aplicativo na lista para abri-lo, selecione A saída
principal de MyNewService (ativo)e clique em OK.

A saída primária é adicionada para todos os quatro nós das ações personalizadas


— Install, Commit, Rollback e Uninstall.

4. In Solution Explorer, right-click the MyServiceSetup project and click Build.

To install the Windows Service

1. Para instalar MyNewService.exe, clique com o botão direito do mouse no projeto


de instalação no Solution Explorer e selecione Install.

2. Follow the steps in the Setup Wizard. Build and save your solution.

To start and stop your service

1. Para abrir o Gerenciador de controle de serviços no Windows 7, o Windows Vista e


Windows Server, clique com o botão direito computador sobre o Iniciar menu e
clique Gerenciar. No Gerenciamento do computador de console, expanda
o serviços e aplicativos o nó no painel esquerdo. Clique em serviços.

You should now see MyNewService listed in the Services section of the window.

2. Select your service in the list, right-click it, and then click Start.

3. Right-click the service, and then click Stop.

To verify the event log output of your service


1. Open Server Explorer and access the Event Logs node.

Observação

The Windows Service template and associated functionality is not available in the Standard Edition

of Visual Studio.

2. Locate the listing for MyNewLog and expand it. You should see entries for the
actions your service has performed.

To uninstall your service

 Sobre o Iniciar menu, abrir O painel de controle e clique em Adicionar ou


remover programas, localize seu serviço e clique desinstalar.

Você também pode gostar