【发布时间】:2018-10-17 03:33:25
【问题描述】:
我有一个 c#/WPF 应用程序,它在某些客户端站点上通过 RPD 运行,即应用程序驻留在客户端服务器上,用户通过终端服务会话访问。
我遇到的问题是我无法防止应用程序的多个实例意外打开。当应用程序在机器上本地运行时,我可以使用以下命令阻止多个实例:
var processName = Process.GetCurrentProcess().ProcessName;
if (Process.GetProcesses().Count(p => p.ProcessName.Equals(processName)) > 1)
{
this.Log.LogInfo(this.GetType(), "Process already running. Shutting down.");
Application.Current.Shutdown();
Process.GetCurrentProcess().Kill();
}
但是,通过 RPP,这将不起作用,因为可能有其他应用程序实例在不同的 RDP 会话上运行。
有人知道如何禁用在同一 RDP 会话中运行的第二个应用程序实例吗?
【问题讨论】:
标签: c# .net wpf rdp terminal-services