我目前正在创建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.
有什么想法吗?
答案 0 :(得分:1)
事实证明,包含Session对象的DLL(代码示例中的变量_session未被部署)。我猜Windows服务推迟加载DLL,直到调用需要DLL的实际方法,并且直到那时才检测到不存在。