Demonstra Passo a passo: Criando um Aplicativo Windows Service no Designer de Componentes
Observação |
---|
The Windows Service template and associated functionality is not available in the Standard Edition of Visual Studio. |
The procedures in this topic demonstrate creating a simple Windows Service application that writes messages to an event log. The basic steps that you perform to create and use your service include the following:
Criar um projeto usando o Windows Service o modelo de aplicativo. Este modelo cria uma classe para você que herda de ServiceBase e escreve muito do código de serviço básico, como o código para iniciar o serviço.
Escreva o código para o OnStart e OnStop procedimentos e substituem outros métodos que você deseja redefinir.
Add the necessary installers for your service application. 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.
Build your project.
Create a setup project to install your service, and then install it.
Access the Windows 2000 Services Control Manager and start your service.
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
On the File menu, click New Project.
The New Project dialog box opens.
Selecione Windows Service modelos de projeto na lista de Visual Basic ou C# Visual e o nome do projeto, MyNewService. Click OK.
Observação O modelo de projeto automaticamente adiciona uma classe componente chamada Service1 que herda de System.ServiceProcess.ServiceBase.
Click the designer to select Service1. Em seguida, na Propriedades janela, defina a ServiceName e o (nome) propriedade de 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. Event logs are not associated in any way with 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
Em Solution Explorer, com o botão direito Service1. vb ou Service1. cs e selecione View Designer.
Do componentes guia da caixa de ferramentas, arraste um EventLog componente ao designer.
Em Solution Explorer, com o botão direito Service1. vb ou Service1. cs e selecione Exibir código.
Adicione ou edite o construtor para definir um log de eventos personalizado.
' To access the constructor in Visual Basic, select New from the ' method name drop-down list. Public Sub New() MyBase.New() InitializeComponent() If Not System.Diagnostics.EventLog.SourceExists("MySource") Then System.Diagnostics.EventLog.CreateEventSource("MySource", "MyNewLog") End If EventLog1.Source = "MySource" EventLog1.Log = "MyNewLog" End Sub
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ódigo, localize o OnStart método foi substituído automaticamente quando você criou o projeto e escrever um código para determinar o que ocorre quando o serviço começa executando:
' To access the OnStart in Visual Basic, select OnStart from the ' method name drop-down list. Protected Overrides Sub OnStart(ByVal args() As String) EventLog1.WriteEntry("In OnStart") End Sub
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 OnStart mé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. It must not loop forever or block. Para configurar o mecanismo de pesquisa simples, você pode usar o System.Timers.Timer componente. No OnStart método, você definiria parâmetros no componente e, em seguida, você definiria a Enabled propriedade para 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 Overrides Sub OnStop() EventLog1.WriteEntry("In OnStop.") End Sub
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 Overrides Sub OnContinue() EventLog1.WriteEntry("In OnContinue.") End Sub
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
Em Solution Explorer, com o botão direito Service1. vb ou Service1. cs e selecione View Designer.
Clique em plano de fundo do designer para selecionar o serviço propriamente dito, em vez de um de seus conteúdos.
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.
In Design view for ProjectInstaller, click ServiceInstaller1 or serviceInstaller1.
No Propriedades janela, certifique-se a ServiceName for definida como MyNewService.
No designer, clique em ServiceProcessInstaller1 (para um projeto de Visual Basic), ou serviceProcessInstaller1 (para um projeto do Visual C#). Set the Account property to LocalSystem. This will cause the service to be installed and to run on a local service account.
Observação sobre segurança O LocalSystem conta tem permissões no amplas, incluindo a capacidade de gravar no log de eventos. Use essa conta com cuidado, pois ele pode aumentar o risco de ataques contra softwares mal-intencionados. Para outras tarefas, considere o uso de LocalService conta, que atua como um usuário sem privilégios no computador local e apresenta credenciais anônimas para qualquer servidor remoto.
To build your service project
Em Solution Explorer, seu projeto com o botão direito e, em seguida, clique em Propriedades. The project's Property Designer appears.
Na página de aplicativo, da o objeto de inicialização , clique em MyNewService.
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
Em Solution Explorer, clique com o botão direito na sua solução, aponte para Adde em seguida, clique em Novo projeto.
Em Modelos instalados, expanda Other Project Types e, em seguida, expanda Setup and Deployment.
Selecione Visual Studio Installer de.
In the Templates pane, select Setup Project. Name the project MyServiceSetup. Click 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
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.
MyNewService is selected in the Project box.
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
In Solution Explorer, right-click the setup project, point to View, and then click Custom Actions.
The Custom Actions editor appears.
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.
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.
The primary output is added to all four nodes of the custom actions — Install, Commit, Rollback, and Uninstall.
In Solution Explorer, right-click the MyServiceSetup project and click Build.
To install the Windows Service
To install MyNewService.exe, right-click the setup project in Solution Explorer and select Install.
Follow the steps in the Setup Wizard. Build and save your solution.
To start and stop your service
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.
Select your service in the list, right-click it, and then click Start.
Right-click the service, and then click Stop.
To verify the event log output of your service
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.
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.
Próximas etapas
Você pode explorar o uso de um ServiceController o componente para que você possa enviar comandos para o serviço que você instalou.
Você pode usar um instalador para criar um log de eventos quando o aplicativo é instalado em vez de criar o log de eventos quando o aplicativo é executado. Additionally, the event log will be deleted by the installer when the application is uninstalled.
Consulte também
Tarefas
Como: Adicionar instaladores ao seu aplicativo de serviço
Como: Instalar e desinstalar serviços
Como: Depurar aplicativos de serviço do Windows
Referência
Como: Access and Initialize Server Explorer/Database Explorer
Conceitos
Introdução aos Aplicativos de Serviço do Windows