Nous avons un grand serveur d'application e-business qui est hors de notre contrôle, nous ne pouvons pas le modifier de quelque façon que ce soit. La société derrière ce serveur d'application ne le modifiera pas non plus selon les exigences de nos clients. Cela est dû au fait qu'ils nous considèrent comme un concurrent et qu'ils ne souhaitent pas que le client utilise notre application comme interface pour leur application.Manipulation des fichiers .lock
Notre application de bureau utilise des services Web pour communiquer avec ce serveur d'applications et chaque connexion du bureau occupe un emplacement utilisateur sur le serveur. Le serveur d'application ne propose aucune fonctionnalité permettant de déterminer si un emplacement utilisateur est utilisé ou non. La meilleure solution serait pour nous de développer une application qui se trouve au milieu du serveur d'applications et notre client de bureau, cette application permettrait de gérer l'allocation et la désallocation des emplacements d'utilisateurs et le problème est résolu. Cette solution a été refusée car le client ne veut pas installer notre application sur le serveur d'application e-business car cela annulerait le support utilisateur du serveur e-business, l'alternative serait un serveur supplémentaire mais c'est quelque chose qu'ils ne font pas. Je veux faire face.
Ce qui nous laisse avec la solution que notre application de bureau a un accès en écriture à un dossier partagé. Chaque application de bureau a un UID et nous utilisons cet UID avec l'ID de l'utilisateur et créons un fichier UID.UserSlotId.locked. Cela signifie que chaque fois qu'une connexion est établie, l'application de bureau doit vérifier cet emplacement partagé et s'assurer qu'ils ne sont pas sur le point d'utiliser un UserSlotId.
Maintenant, maintenant que le fichier verrouillé est une solution terrible, mais le client a demandé cela et peu importe combien nous les informons que ce ne sera jamais une solution étanche, ils veulent toujours aller de l'avant. Ils partent du principe qu'une solution à 98% est une bonne solution. Alors, que peut offrir la communauté StackOverflow en matière de conseil sur un tel système de verrouillage de fichier?
Comment cette procédure pourrait-elle supporter 200 utilisateurs simultanés? Cela causerait-il des problèmes? – Mouse
@Mouse. En supposant qu'ils gardent leurs connexions ouvertes pendant que l'application est ouverte et ne créent pas une nouvelle connexion pour chaque touche qu'ils appuient. Pour 200 utilisateurs je voudrais essayer de vérifier les fichiers de verrouillage dans un ordre aléatoire et peut-être d'abord essayer le dernier fichier de verrouillage que l'application a réussi à acquérir. –