在Windows Server 2012 R2上运行Windows服务

时间:2015-08-28 09:51:59

标签: c# windows-services windows-server-2012-r2

我已经编写了一个Windows服务,并在我自己的PC上进行了测试和调试,它可以工作!但是,当我在生产服务器(Windows Server 2012 R2)上部署服务时,该服务无法正常工作。服务启动和停止没有任何错误,但服务启动后将不会执行任何操作。该服务不会在我的日志文件中写任何内容。

这是我到目前为止在服务器上所做的:

  • 将本地PC上的所有文件复制到服务器(.exe, .exe.config, .pdb, .vshost, .vshost.exe, .exe.manifest和我自己的文件Settings.xml, EnvTest.txtLogFile.txt
  • 复制的文件放在C:\SomeFolderName\,我编写了一个安装和卸载.bat脚本。
  • 我已将带有Full Control的NETWORK SERVICE用户添加到目录
  • 我以Administrator
  • 登录

以下是服务的一些信息

  • 该服务从SQL SERVER 2012 Express数据库获取数据。数据库与服务位于同一服务器上。数据库可以从任何应用程序查询(我已经测试了这个!)。
  • 该服务将日志添加到与服务可执行文件
  • 位于同一目录中的日志文件中
  • 服务写入ASCII文件,也放在同一目录中
  • 该服务从XML文件获取配置,该文件也位于同一目录中

总的来说,服务读/写C:\SomeFolderName\目录中的很多文件。

我无法理解为什么服务无法在服务器上运行。我需要做什么吗?

如果它有任何区别,那么我的OnStart()

的代码
protected override void OnStart(string[] args)
{
    mainTask = new Task(PollDatabase, cts.Token, TaskCreationOptions.LongRunning);
    mainTask.Start();
}

如果您需要更多代码,请与我们联系。

0 个答案:

没有答案