Ble*_*eek 2 .net c# executable multiton application-singleton
假设我有一个用C#编写的应用程序,名为EquipCtrl.exe,它在PC上作为本地进程运行,以控制一台设备.
显然,我希望在每台PC上只运行一个Equipctrl实例.如果我有两个装备来控制每台PC,那么我会将它限制为每台PC两个实例.
我做的方式是1.进程名称之一.我将进程命名为EqCtrl,在进程启动时,它将使用名称"EqCtrl"计算数字进程.2.执行名称.在启动时,使用执行名称EquipCtrl.exe计算进程数.3.登记处记录.4. SQL Server数据库记录.
对我来说,进程名称或执行名称检测是最简单的,也是我最常做的(如果不是全部的话).但是,他们容易受到名字冲突的影响.即使我进一步找出执行路径,也可以通过将执行文件复制到另一个文件夹来规避限制.
在.NET上执行执行限制的最佳方法是什么?为什么?注册表记录是最好的方式吗?