【发布时间】:2010-07-09 09:53:54
【问题描述】:
我经常编写仅支持一个实例的 .net 应用程序。以前我使用 .net-remoting 和现在的 WCF 来检测我的应用程序的一个实例是否已经在运行并将焦点放在这个实例上。
我的问题是,如果 .net4 有更好的解决方案来实现单实例应用程序(或者一般来说有更好的解决方案,因为在应用程序的一开始就加载 WCF 或远程程序集有一个不好的性能影响)
更新
感谢所有的帖子。我最初的问题的答案似乎是“不,在 .net 4 中实现单实例应用程序没有什么新东西”。
感谢所有其他信息,我将更改我当前的项目以使用 Mutex 来提供所需的功能。我接受了 Bob Moore 的回答,因为它附带的信息最多,但感谢所有发布有用信息的人。
【问题讨论】:
-
.net 4 没什么特别的。wcf 和远程处理听起来像这样简单的任务的巨大开销
-
@Andrey:确实,它的开销,但我不得不说,在大多数这些应用程序中,我无论如何都使用 WCF/Remoting,这证明了它们的使用是合理的。但是加载程序集的时间点很糟糕,因为它延长了应用程序加载/初始化的时间。
-
您应该使用互斥锁,正如 Bob Moore 的回答中所述。它健壮且快速。
-
@Andrey 所以我会的。谢谢。
标签: .net