所以我在这个Web服务中确实有一行代码应该启动一个可以完成大量工作的桌面应用程序。我选择桌面应用程序是因为工作可能需要20多个小时,如果我只选择一个Web服务,那么应用程序池回收计划可能会给我一个曲线球。
这是我的网络服务
Process.Start("C:\ReTransPrograms\RateAnalytics\AnalyticsBatchRateDesktop.exe", arguments)
在桌面应用程序(winforms)完成工作后,在后台工作人员完成的事件中,我已经尝试过...
Application.Exit()
和..
me.close()
当我在工作完成后检查任务管理器时,应用程序仍在运行。我错过了什么吗?权限?安全
当我在本地运行桌面应用程序时,它会在完成后关闭。
AppPool作为LocalSystem运行。
答案 0 :(得分:0)
跟踪进程ID并在关闭时将其终止。
Private Sub Main()
ProcessID = Process.Start("C:\ReTransPrograms\RateAnalytics\AnalyticsBatchRateDesktop.exe", arguments).ID
End Sub
什么时候结束通话:
System.Diagnostics.Process.GetProcessById(ProcessID).Kill()