针对特定应用程序的单用户实现

时间:2011-05-23 07:52:01

标签: c# login

我有这样的要求。

  1. 我的应用程序是Excel的加载项。它使用令牌来授权特定用户。

  2. 加载项中有一个红色/绿色指示符,表示应用程序在线/离线。

  3. 如果A已经通过打开Excel实例登录,我的要求是在同一台机器上打开其他Excel实例时,它应该使用现有的登录信息并将状态显示为在线/离线新的Excel实例。我看到了使用Semaphore的实现。但是不确定这是否是解决我需求的好方法。

  4. 如何达到这个要求?

1 个答案:

答案 0 :(得分:0)

如果你想限制实例的数量,那么信号量是好的,但是在这种情况下你没有,你想要做一些非常简单的IPC。如果是我的要求,我会添加绑定到localhost或命名管道的WCF服务。

启动时

尝试连接到它并找出用户登录的用户,如果无法连接到它启动服务器。如果用户关闭托管服务的实例,您还需要一些其他实例的机制来接管服务器角色。