2016-03-09 6 views
0

J'espère que c'est une question débile avec une réponse simple ...Entity Framework WPF architecture multi-utilisateur

J'ai développé ma première application commerciale en utilisant MSSQL/EF/MVVM/WPF et maintenant je suis en train de le faire fonctionner dans un environnement multi-utilisateur. J'ai vu beaucoup de réponses qui suggèrent d'interroger pour voir si la base de données a changé, puis résoudre les problèmes de concurrence, ou des suggestions que chaque client devrait avoir une base de données locale installée et les synchroniser. Les deux me paraissent beaucoup de travail.

Est-il acceptable d'avoir un référentiel partagé sur le serveur? Le référentiel peut charger à partir de la base de données entière quand il commence (environ 50000 enregistrements). Ensuite, les clients pourraient simplement interroger le même référentiel. Si un utilisateur modifie certaines données, le référentiel renvoie les notifications de propriété à tous les autres clients. Est-ce que je pense à ce problème, ou quelle est la méthode acceptée?

Merci

+0

cette question sera probablement marquée comme trop large - mais oui, semble raisonnable jusqu'à présent. – Dbl

+0

serveur Web, soutenu par une base de données. Webapi frontend. HttpClients pour les connexions, signalr sur le serveur pour informer les clients des CRUD, et [HubConnections] (https://msdn.microsoft.com/en-us/library/microsoft.aspnet.signalr.client.hubs.hubconnection%28v=vs .111% 29.aspx? F = 255 & MSPPError = -2147217396) dans les clients pour écouter ces mises à jour. Ça va être beaucoup de travail, mais relativement simple et gratifiant. – Will

+0

Merci Will. Je me pencherai sur SignalR la prochaine fois que je ferai une application web. Cependant, c'est WPF. –

Répondre

0

Quoi que vous fassiez WILL beaucoup bea du travail.

La conservation d'un serveur d'applications en mode état et sa distribution est un concept standard, par exemple pour les applications de trading. Vous utilisez la base de données pour les rapports, etc. - mais vous gardez l'état actuel en mémoire et le distribuez à partir de là.

+0

Merci TomTom. C'est très rassurant. Je suis toujours déconcerté, et je ne sais pas où chercher des exemples. Les applications WPF multi-utilisateurs sont sûrement une architecture standard? –

+0

La façon dont je le comprends, mon DAL et le dépôt s'asseoir sur le serveur et les viewmodels du client lui parlent (sur LAN) à travers WCF. Est-ce correct? Il n'y a que 5 utilisateurs. Je n'ai pas besoin de solutions hautement efficaces - juste quelque chose qui est facile à mettre en œuvre. Merci –