запустить службу windows с веб-страницы asp.net - PullRequest
0 голосов
/ 01 декабря 2009

У меня есть веб-страница, написанная на vb, мне нужно запустить службу Windows, которая будет установлена ​​на сервере.

Ответы [ 3 ]

0 голосов
/ 01 декабря 2009

В зависимости от разрешений, которые имеет учетная запись веб-сайта, вы можете запускать / останавливать службы.

В дополнение к тому, что ответили другие, вы можете выделить NET START с соответствующими параметрами.

Вы также можете сделать это для удаленных компьютеров, если предоставлены разрешения (я думаю, это должна быть учетная запись домена).

0 голосов
/ 01 декабря 2009

Сначала необходимо добавить ссылку на сборку System.ServiceProcess. Следующий код дает вам примерно то, что вы хотите сделать (я использую элемент управления Label под названием messageLabel в следующем):

using System;
using System.Collections.Generic;
using System.Linq;
using System.ServiceProcess;
using System.Web;
using System.Web.UI;
using System.Web.UI.WebControls;

public partial class StartService : System.Web.UI.Page
{
    protected void Page_Load(object sender, EventArgs e)
    {
        string serviceName = "Remote Registry";
        try
        {
            StartServiceByName(serviceName);
        }
        catch (Exception ex)
        {
            messageLabel.Text = ex.ToString().Replace("\r\n", "<BR>");
            return;
        }
        messageLabel.Text = String.Format("Service {0} started.", serviceName);
    }

    private void StartServiceByName(string serviceName)
    {
        ServiceController serviceController = new ServiceController(serviceName);
        serviceController.Start();
    }
}

Однако есть еще одна вещь - вам нужно, чтобы веб-сервер имел разрешение на изменение этой службы, что обычно можно сделать только с правами администратора.

0 голосов
/ 01 декабря 2009

не проверял.

Пожалуйста, попробуйте, работает или нет. Вы можете добавить следующий код в событие щелчка btn.

dim controller as new ServiceController

controller.MachineName = "." //try the machine name
controller.ServiceName = "service name"
dim status as string = controller.Status.ToString

' Stop the service
controller.Stop()

' Start the service
controller.Start()
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...