我的问题是更多的可能性然后是如何。我目前有两个自定义 Windows 服务,一个使用 TCP 通过网络将文件从客户端发送到主机,另一个接收这些文件,传输完成后启动一个 C# 应用程序,该应用程序开始将这些文件上传到数据库(两个服务做更多,但这是他们所做工作的基本思想)。我的问题是,是否可以让主机(服务器)上运行的服务启动 C# 应用程序以在用户未登录的情况下上传?或者我是否也必须将该应用程序转变为一项服务?
最佳答案
is it possible to have the service running on the host(server) launch the C# application to upload without a user being logged in?
这就是 Windows 服务的全部意义所在 - 它们无需任何人登录即可运行。
是的,他们可以启动其他进程 - 这通常是通过 Process
完成的类。
Process.Start("path to application", "command line arguments");
您可以使用返回的 Process
引用并稍后终止它(如果它不是自终止的)以确保您的服务器不会执行它的多个副本并耗尽内存。
关于c# - Windows 服务可以在未登录的情况下启动应用程序吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10603601/