Неправильная функция службы Windows - PullRequest
2 голосов
/ 03 августа 2011

В настоящее время я создаю службу Windows.Я закончил все и могу развернуть его на моем тестовом сервере.Но когда я пытаюсь запустить службу, я получаю Error 1: Incorrect function.Странно то, что это происходит при вызове метода.Соответствующие разделы кода выглядят так:

public CacheManager(Logger logger, QueueSettings settings)
{
    _logger = logger;

    _logger.WriteLog("checkpoint #1.1");
    FillCache();
    _logger.WriteLog("checkpoint #1.2");
}

    private void FillCache()
    {
        _logger.WriteLog("checkpoint #1.1.1");
        Utils.RefreshSession(ref _session, _user, _password, _appServer);
        _logger.WriteLog("checkpoint #1.1.2");
        Parts = new PartCache(ref _session);
        _logger.WriteLog("checkpoint #1.1.3");
        Customers = new CustomerCache(ref _session);
        _logger.WriteLog("checkpoint #1.1.4");

        lastUpdate = DateTime.Now;
        _logger.WriteLog("checkpoint #1.1.5");
    }

Согласно журналам, я достигаю контрольной точки № 1.1, но не контрольной точки № 1.1.1.Возвращаемая ошибка:

Could not start the JediProcessDocuments service on the local computer.

Error1: Incorrect function.

Есть идеи?

1 Ответ

1 голос
/ 04 августа 2011

Получается, что DLL, содержащая объект Session (переменная _session в примере кода, не была развернута).Я предполагаю, что службы Windows откладывают загрузку DLL до тех пор, пока не будет вызван фактический метод, которому нужна DLL, и не обнаружит отсутствие до тех пор.

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