c# - .NET - 限制执行单​​元的实例数

标签 c# .net executable multiton application-singleton

假设我有一个用 C# 编写的名为 EquipCtrl.exe 的应用程序,它作为本地进程在 PC 上运行以控制一台设备。

显然,我希望每台 PC 上只运行一个 Equipctrl 实例。如果每台 PC 需要控制两个设备,那么我会将其限制为每台 PC 两个实例。

我的做法是 1.进程名称。我将进程命名为 EqCtrl,在进程启动时,它会计算名称为“EqCtrl”的进程数。 2.执行名称。在启动时计算执行名称为 EquipCtrl.exe 的进程数。 3.登记记录。 4. SQL Server数据库记录。

对我来说,进程名称或执行名称检测是最简单的,也是我大部分时间(如果不是全部)都在做的事情。但是,它们很容易发生名称冲突。即使我进一步找出执行路径,也可以通过将执行文件复制到另一个文件夹来规避限制。

在 .NET 上执行执行限制的最佳方法是什么?为什么?注册表记录是最好的方法吗?

最佳答案

关于c# - .NET - 限制执行单​​元的实例数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4159694/

相关文章:

c# - 获取具有给定列标题的列的索引 C#

bash - 从 bash 到 `function` 的 fish shell 和执行程序

c# - SqlConnection 和Pool,是保持打开的连接kung-foo 还是foo-bar?

c# - 在 .Net 中构建 Web 服务的首选方法是什么?

c# - 以编程方式创建和启动 RDP session (无 gui)

java - 在 gradle 可执行 jar 文件中包含运行时参数

java - 可执行Jar无法运行? (无权限访问代码)

c# - 新创建的.Net Core 使用 Windows 身份验证提供 HTTP 400

c# - 在类上覆盖 == 和 !=

c# - 为什么 .ToString() 方法会破坏我的代码?