J'ai une question d'architecture. Nous avons de nombreuses applications dans notre entreprise et nous prévoyons d'utiliser ASP.NET MVC et Entity Framework dans nos futurs projets. Le prochain projet que nous devons implémenter est un système central d'autorisation/d'authentification. Il n'y a pas d'option pour utiliser un existant pour des raisons qui ne sont pas actuelles. Ce système sera probablement structuré comme un service. Ce que nous ne savons pas, c'est: comment les autres applications connaîtront-elles le «modèle» de ce système d'autorisation/d'authentification? Je veux dire, comment vont-ils connaître les utilisateurs, les rôles, etc. Quelle est la meilleure pratique? Un de nos collègues a suggéré de créer le modèle de structure d'entité (.edmx) dans une bibliothèque de classes. Le problème est que dans ce cas, nous devrions copier cette DLL pour tous les projets qui auront accès au système d'autorisation/d'authentification. Est-ce une bonne solution? Est-ce que quelqu'un a une meilleure idée?Comment faire pour que les applications accèdent à mon modèle sans avoir à passer mon modèle DLL à travers elles
Répondre
Juste pour ajouter à ce que DSO déjà dit, la manière standard de le faire est dans la boîte de dialogue « Ajouter Sevice Référence » dans Visual Studio. Il interroge votre service Web, détermine les classes nécessaires et les place dans un fichier reference.cs. Vous pouvez également utiliser svcutil.exe (ou si vous utilisez Silverlight, SLSvcUtil.exe) pour faire la même chose. Vous devez régénérer le fichier reference.cs chaque fois que vous changez l'interface de votre service Web, mais cela ne prend généralement que quelques secondes.
Il est également possible de créer un ensemble distinct d'objets de transfert de données qui peuvent être partagés entre les différentes couches de votre application, mais à moins que vous ayez des exigences architecturales très fortes, j'ai trouvé l'auto-généré classes pour travailler raisonnablement bien.
Voir aussi cet article ici sur les entités d'auto-suivi disponibles dans EF 4.0, si c'est une option pour vous: http://msdn.microsoft.com/en-us/magazine/ee335715.aspx.
Vous pouvez mettre en œuvre votre service en tant que service Web SOAP, ce qui signifie que votre modèle de données et méthodes seront exposées via SOAP et WSDL décrits à l'aide. Le service Web peut être utilisé dans n'importe quelle langue, sans que vous ayez besoin de distribuer des bibliothèques de classes.
De nombreuses langues ont également des outils qui génèrent automatiquement des emballages de classe côté client basé sur la description WSDL de votre interface SOAP (par exemple WSDL.exe pour les clients .NET).
- 1. Mon validateur doit-il avoir accès à tout mon modèle?
- 2. le modèle partagé à travers les contrôleurs
- 3. Comment faire pour que les propriétés de dépendance de mon contrôle utilisateur WPF mettent à jour mon modèle de vue?
- 4. partager même dll à travers différentes applications Web sans copier
- 5. Django: Passer des valeurs d'objet de modèle à travers l'URL
- 6. Générer XSD à partir de mon modèle
- 7. Pourquoi mes cases à cocher ne sont-elles pas liées à mon modèle View?
- 8. Comment ajouter un modèle utilisateur à mon application afin que les données soient spécifiques à l'utilisateur dans mon application Rails
- 9. Dessin à partir d'un S3 à travers mon modèle photo s'emmêle
- 10. has_one: à travers un modèle de jointure
- 11. Comment décomposer mon modèle EF?
- 12. Comment faire pour que mon ListViewItem ressemble à l'application Twitter?
- 13. Comment partager un élément du modèle Core Data à travers les applications iPhone?
- 14. modèle classes statiques à travers les bibliothèques liées dynamiques
- 15. Ajout d'une propriété personnalisée à mon EF4 modèle
- 16. Comment rendre une méthode disponible à la fois pour mon contrôleur et mon modèle dans Rails?
- 17. Comment puis-je parcourir mon modèle emf à partir d'un éditeur gmf sans analyser le fichier de modèle xml?
- 18. Comment ajouter une colonne calculée à mon modèle EF4?
- 19. Mettre à jour mon modèle puis réévaluer IsValid?
- 20. J'ai de la difficulté à créer mon modèle en pylônes
- 21. Comment faire 4 colonnes à travers dans ASP.NET MVC - Comment faire pour que mon code actuel suce moins
- 22. comment passer à travers mms: //
- 23. Passer des variables de Modèle à Modèle dans codeigniter
- 24. Passer les paramètres à travers le formulaire à contrôleur (CakePHP)
- 25. sfGuardAuth à travers plusieurs applications
- 26. JDO - Dois-je appeler DetachCopy sur mon objet modèle avant de le passer à une vue?
- 27. ASP.NET MVC: Comment accéder à mon modèle fortement typé à partir d'une méthode d'extension HtmlHelper?
- 28. Comment est-ce que je peux refactoriser cette transaction compliquée dans mon modèle de mon contrôleur?
- 29. un enregistrement de mon modèle basé sur deux paramètres envoyés à mon dépôt asp.net mvc 2
- 30. HttpPost Action pour mettre à jour mon modèle avec les enfants de la page d'édition