防止服务器中的多个实例用户名相同
我开发了一个托管在一台服务器上的应用程序。 许多用户通过远程桌面连接访问它,但有时我在任务管理器中看到同一用户已打开2-x实例。 我需要防止同一个用户无法打开多个实例。 但请注意,程序可以由不同的用户多次打开。 请原谅我的英语。 谢谢。
PS:我正在使用Winforms和C#
您可以使用用户名创建互斥锁。
bool b = true; Mutex mutex = new Mutex(true, Environment.UserName.ToLowerInvariant() , out b); if (!b) throw new InvalidOperationException("Another instance is running");
查看应用程序的另一个实例是否已在运行的推荐方法是使用互斥锁。 见这里的例子。
由于您希望在不同用户运行应用程序时允许运行多个应用程序实例,因此只需将当前用户名添加到互斥锁的名称即可。 例如,调用Mutex "MyApp"+Environment.UserName
上述就是C#学习教程:防止服务器中的多个实例用户名相同分享的全部内容,如果对大家有所用处且需要了解更多关于C#学习教程,希望大家多多关注—计算机技术网(www.ctvol.com)!
本文来自网络收集,不代表计算机技术网立场,如涉及侵权请联系管理员删除。
ctvol管理联系方式QQ:251552304
本文章地址:https://www.ctvol.com/cdevelopment/953546.html