2011-05-23 3 views
0

J'ai une exigence comme celle-ci.Mise en œuvre mono-utilisateur pour une application spécifique

  1. Ma demande est un add-in pour Excel. Il utilise un jeton pour autoriser un utilisateur spécifique.

  2. Il existe un indicateur rouge/vert dans l'add-in pour montrer que l'application est en ligne/hors ligne. Si A est déjà connecté en ouvrant une instance Excel, mon exigence est quand une autre instance Excel est ouverte dans la même machine, elle doit utiliser les informations de connexion existantes et afficher le statut en ligne/hors ligne dans le nouvelle instance Excel. J'ai vu une implémentation en utilisant Semaphore. Cependant, je ne sais pas si cela peut être une bonne solution à mes besoins.

Comment satisfaire à cette exigence?

+0

.. et quelle est votre question de programmation? On dirait qu'il serait mieux posté à programmers.stackexchange.com – sra

+0

Salut Sra, Merci. Je veux décider de ce qu'il faut utiliser pour résoudre cette exigence. Certains amis suggèrent Semaphore. Quelqu'un peut-il donner quelques conseils sur la façon d'accomplir cela? – Nanda

+0

Qu'avez-vous _tried_ jusqu'ici? –

Répondre

0

bien un sémaphore est bon si vous voulez limiter le nombre d'instances, mais dans ce cas vous ne le faites pas, vous voulez faire un IPC très simple. Si c'était mon exigence j'ajouterais un service de WCF lié aux pipes localhost ou nommés. Au démarrage, essayez de vous connecter et de savoir quel utilisateur est connecté, si vous ne pouvez pas vous connecter au serveur, démarrez-le. Vous aurez également besoin d'un mécanisme pour qu'une autre instance prenne le rôle de serveur au cas où l'utilisateur fermerait l'instance hébergeant le service.