Como: Criar ServiceController componente Instances

Você pode usar o ServiceController componente para se conectar a e controle o comportamento dos serviços existentes. Quando você cria uma instância do ServiceController classe, você conjunto suas propriedades, de modo que ele interage com um serviço específico do Windows. Em seguida, você pode usar a classe para iniciar, parar e manipular o serviço.

Você provavelmente usará um ServiceController uma capacidade administrativa. Por exemplo, você pode criar um Windows ou ASP.NET aplicativo Web Web que envia personalizado comandos para um serviço por meio de um ServiceController instância do componente. Isso seria útil porque o Services controle Manager não oferece suporte a comandos personalizados.

Há várias maneiras, você pode criar uma instância do ServiceController componente:

  • Você pode arrastar uma instância do ServiceController componente das Componentes Guia de do Caixa de ferramentas para um formulário ou designer de Outros.

  • Você pode adicionar um ServiceController seu designer de componente servidor Explorer.

  • Você pode criar uma instância do ServiceController classe no código.

Depois de criar uma instância de ServiceController, você deve conjunto duas propriedades nele para identificar o serviço com o qual ele interage: o nome do computador e o nome do serviço que você deseja controlar.

Observação:

Por definição ault, MachineName está definido para o computador local, de modo que não é necessário alterá-la, a menos que deseje conjunto a instância de componente para apontar para outro computador.

Observação:

As caixas de diálogo e comandos de menu que você vê pode d iffer daqueles descritos na Ajuda dependendo das configurações ativas ou edição.Para alterar as configurações, escolher Importar e exportar configurações on the Ferramentas menu.Para obter mais informações, consulte Configurações do Visual Studio.

Para criar e configurar um componente ServiceController do Gerenciador de Servidores

  1. No Server Explorer, adicione o servidor que você deseja se ele não estiver listado.Para obter mais informações, consulte Como: Access and Initialize Server Explorer/Database Explorer.

  2. expandir o Serviços nó e, em seguida, localizar o serviço no qual você deseja executar tarefas administrativas.

  3. clicar com o botão direito do mouse no nome do serviço e clique em Adicionar a Designer.

    A ServiceController componente aparece em seu projeto, configurado para interagir com o serviço selecionado.

Para criar e configurar um componente ServiceController da caixa de ferramentas

  1. Acessar o Componentes Guia de do Caixa de ferramentas.

  2. selecionar o ServiceController ícone e arrastar-o para a superfície de design do formulário ou componente.

  3. Defina as propriedades a seguir.

    Propriedade

    Configuração

    Nome do computador

    O nome do computador no qual o serviço existe, ou "." para o computador local.

    ServiceName

    O nome do serviço com o qual deseja interagir.

    Dica:

    Você pode usar servidor Explorer para ver o que o ServiceName deve ser definido como de qualquer serviço específico.selecionar o serviço no qual você está interessado em Gerenciador de servidores, and the ServiceName para que ele aparece no Propriedades janela.

Para criar e configurar um componente ServiceController programaticamente

  1. Criar uma instância do ServiceController classe em seu código.

  2. conjunto o MachineName e ServiceName propriedades para indicar o serviço que você deseja controlar.

    O exemplo a seguir mostra como criar um ServiceController componente que interage com o serviço de administração do IIS no computador local. O componente, em seguida, consulta o serviço associado com o controlador para determinar se ele pode aceitar comandos parar e em caso positivo, emite o comando.Este exemplo faz parte de um projeto do Windows em que um formulário com vários botões é usado para iniciar, parar e manipular o serviço.Sempre que um botão é clicado, a condição é avaliada e informações de status são exibidas em um controle rótulo.

    Observação:

    Antes que essas Exemplos serão r Cancelar, você deve adicionar uma referência para sistema.ServiceProcess.dll e inclui um Imports ou using demonstrativo para o System.ServiceProcess espaço para nome.

    Sub Main()
        Dim myController As _
           New System.ServiceProcess.ServiceController("IISAdmin")
    
        If myController.CanStop Then
            Debug.WriteLine(myController.ServiceName & " can be stopped.")
        Else
            Debug.WriteLine(myController.ServiceName & " cannot stop.")
        End If
    End Sub
    
     public static void Main(string[] args)
        {
            System.ServiceProcess.ServiceController myController =
               new System.ServiceProcess.ServiceController("IISAdmin");
            if (myController.CanStop)
            {
                System.Diagnostics.Debug.WriteLine(
                   myController.DisplayName + "  can be stopped.");
            }
            else
            {
                System.Diagnostics.Debug.WriteLine(
                   myController.DisplayName + "  cannot stop.");
            }
        }
    

Consulte também

Tarefas

Como: Executar tarefas administrativas em serviços

Como: Recuperar listas de serviços

Conceitos

Introdução à comunicação com os serviços existentes