Windows服务功能不正确

时间:2011-08-02 20:30:57

标签: c# windows-services

我目前正在创建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 个答案:

答案 0 :(得分:1)

事实证明,包含Session对象的DLL(代码示例中的变量_session未被部署)。我猜Windows服务推迟加载DLL,直到调用需要DLL的实际方法,并且直到那时才检测到不存在。