我的问题是另一种可能性,然后是如何。我目前有两个自定义Windows服务,一个使用TCP通过网络从客户端向主机发送文件,另一个接收这些文件,一旦传输完成,就启动一个C#应用程序,开始将这些文件上传到数据库(两个服务)做更多但这是他们所做的基本想法)。我的问题是,是否有可能让主机(服务器)上运行的服务启动C#应用程序上传而无需用户登录?或者我是否也必须将该应用程序转换为服务?
答案 0 :(得分:3)
是否可以让主机(服务器)上运行的服务在没有用户登录的情况下启动C#应用程序上传?
这就是Windows服务的重点 - 它们在没有任何人登录的情况下运行。
是的,他们可以启动其他流程 - 这通常是通过Process
类完成的。
Process.Start("path to application", "command line arguments");
您可以使用返回的Process
引用并稍后终止它(如果它不是自我终止的),以确保您的服务器不执行它的多个副本并且内存不足。