J'ai une application qui s'exécute sur plusieurs serveurs IIS qui doivent analyser un fichier CSV placé sur un lecteur réseau commun. Si j'utilise le System.IO.FileSystemWatcher Created event pour être averti de l'événement lorsque le fichier est disponible, comment puis-je m'assurer qu'un seul serveur analyse le fichier? Si tous les serveurs sont informés de cette modification, tous essaieront de l'analyser. Le premier serveur devrait-il le copier localement, puis l'analyser? Cela causerait-il des erreurs sur les autres serveurs? Devrais-je définir l'accès au répertoire distant pour autoriser uniquement un accès en lecture au serveur?Autoriser uniquement un serveur à accéder à un fichier sur un lecteur réseau
Le fichier contient des enregistrements qui doivent être insérés dans une base de données partagée, mais il n'existe aucune clé unique pour les enregistrements. Par conséquent, si plus d'un serveur saisit le fichier en même temps et insère les enregistrements, il y aura des doublons dans la base de données.
Peut-être que changer le titre aiderait à attirer l'attention sur la question? IIS et FileSystemWatcher n'ont rien à voir avec le problème principal, je recommanderais de les laisser de côté. – Tomalak