Wie eine Ressource machen (Bildschirm) zugänglich nur ein Benutzer zu einem Zeitpunkt, in einer verteilten Net-Anwendung?

stimmen
1

Ich habe eine Client-Server-basierte Windows Forms-Anwendung, die nur Bildschirm einen Administrator benötigt. Der Administrator Funktionalität muss in einer solchen Art und Weise implementiert werden, die zu einem bestimmten Zeitpunkt nur ein Administrator diesen Bildschirm zugreifen können. Die Fenster bilden Client-Anwendung im Gespräch mit dem Server unter Verwendung von .NET Remoting. Und die Server-Seite wird auf mehreren Rechnern verteilt.

Veröffentlicht am 09/12/2008 um 21:26
quelle vom benutzer
In anderen Sprachen...                            


2 antworten

stimmen
3

Dies kann am einfachsten Tabelle durch Verwendung einer DB erfolgen. Typischerweise ist die DB bereits fehlertolerant und ist eine sichere Ressource für eine gemeinsame Sperre Szenario zu verwenden. hat nur eine Sperrtabelle, die einige Informationen über die gesperrte Ressource enthält, die es hat, wenn usw.

Sie können auch eine der verschiedenen „state-Server“ auf den Markt Verriegelungszustand zu speichern, verwenden. Dies ist die Einführung obwohl ein Fehlerpunkt, wenn Sie in einem der neueren verteilten Zustand Technologien zu investieren.

Allerdings setzen Sie sich wirklich für weitere Fragen auf. Sie werden einen Bildschirm benötigen, damit ein Unlock zwingen, sehen, der die Sperre hat, usw. Sie sind am besten dran suchen, warum diese Sperre wirklich benötigt wird. Ist es eine Technologie oder Geschäftsanforderungen? Sie können leichter und sauberer eine pessimistische Datenaktualisierung Szenario implementieren, die Benutzererfahrung verbessern würde.

Beantwortet am 09/12/2008 um 21:31
quelle vom benutzer

stimmen
0

Sie benötigen ein statisches Element auf dem Server aufrechtzuerhalten, wenn das Fenster in Gebrauch ist zur Zeit anzeigt. Stellen Sie sicher , es ist Thread-sicher durch die Verwendung von lock () Funktion , wenn Sie den Wert. Sie können dann diesen Wert überprüfen , bevor Sie den Admin - Bildschirm zeigt.

Soweit die Server - Seite betrifft, erwähnen Sie , dass es auf mehreren PCs vorhanden ist . Ist das eine Last ausgewogene Art topolgy , die als ein virtueller Server betreiben? Wenn dies der Fall müssen Sie den Wert in einer Datenbank persistieren. Denken Sie daran , auf die gleiche Art und Weise , die ASP.Net bleibt Session State . Ich kann auf dem Server vorhanden ist , aber wenn es eine Server - Farm ist , kann es von allen Servern zu SQL Server für den Einsatz bewegt werden.

Beantwortet am 09/12/2008 um 21:33
quelle vom benutzer

Cookies help us deliver our services. By using our services, you agree to our use of cookies. Learn more