无需登录即可运行Windows服务

时间:2015-02-12 09:58:15

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

到目前为止,我有一个充当服务器的Windows应用程序,此服务器已连接到SQL server并通过TCP/IP与客户端应用程序通信。

每个Windows服务器都可以运行我的一些服务器应用程序。每个服务器应用程序都连接到不同的数据库并使用不同的TCP port

IT部门要求更换服务器以作为服务工作,因为他们遇到的一个主要问题是,当重新启动服务器时,它不会自动登录可以启动服务器应用程序的用户并且会阻止所有连接的客户端到服务器。 IT部门提到他们出于安全原因无法创建自动登录注册表。

我试着在互联网上查看这些答案:

How can I run an EXE program from a Windows Service using C#?

Which process in windows is user specific?

How to run console application from Windows Service?

How can a Windows Service start a process when a Timer event is raised?

windows service可以SQL server与[{1}}进行通信并打开端口而无需登录窗口(重启后)?

如果我确实将服务器应用程序更改为服务。我只能运行一项服务。所以每个窗口我不会有一些服务?而且由于登录问题,我也无法从此服务运行我的服务器应用程序?

1 个答案:

答案 0 :(得分:1)

用于身份验证:

如果您的SQL服务器配置为使用Windows身份验证,那么您将遇到问题。这个问题并非不可克服,你将不得不考虑模仿的概念,但它有点工作。但是,如果SQL Server使用用户名+密码身份验证,那么您可以继续使用。

对于多个实例:

理想情况下,您在应用程序的任何位置都不会使用任何静态内容,因此您的应用程序将能够在内部创建其主应用程序对象的多个实例。但是让我猜一下,你已经使用过static。因此,在这种情况下您可以做的是:不是修改您的应用程序以使其成为服务,而是编写一个单独的服务可执行文件,启动应用程序的多个副本,每个副本作为一个单独的过程。