Служба Windows останавливается автоматически - PullRequest
0 голосов
/ 30 марта 2012

Я хочу вызвать хранимую процедуру из службы Windows, и после этого я хочу самостоятельно остановить службу.Вот что у меня есть:

public DailyChecker()
{
    InitializeComponent();
}

protected override void OnStart(string[] args)
{
    SqlConnection connection = new SqlConnection(connectionString);

    try
    {
        connection.Open();
        SqlCommand cmd = new SqlCommand("sp_ChangeState", connection);
        cmd.CommandType = CommandType.StoredProcedure;
        cmd.ExecuteNonQuery();
    }
    finally
    {
        connection.Close();
    }
}

protected override void OnStop()
{
    base.OnStop();
}

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

Ответы [ 2 ]

0 голосов
/ 18 апреля 2012

Я изменил свойство Account учетной записи serviceProcessInstaller на LocalSystem.Сейчас работает

0 голосов
/ 30 марта 2012

Не уверен, что я полностью понимаю вашу оценку, но это просто случай вызова base.OnStop

try
{
    connection.Open();
    SqlCommand cmd = new SqlCommand("sp_ChangeState", connection);
    cmd.CommandType = CommandType.StoredProcedure;
    cmd.ExecuteNonQuery();
}
finally
{
    connection.Close();
}
base.OnStop();
...