Question

Scénario:

Supposons que j'ai quatre applications très similaires (c'est-à-dire que la plupart des fonctionnalités sont identiques, mais elles sont suffisamment différentes pour justifier que chaque application soit distincte).

Quel est le meilleur moyen de réutiliser le code de fonctionnalité commun entre eux? COM +? Services Web?

En général, je n'aurais généralement que le code dans un projet séparé (dll), mais chaque fois qu'il est mis à jour, le fichier doit être mis à jour pour chaque application ASP.Net et ne sait pas s'il existe un meilleur moyen. d'aller à ce sujet.

Merci!

Était-ce utile?

La solution

Si possible, vous pouvez créer une solution Visual Studio avec un projet DLL et un certain nombre de projets d'application Web ou de site Web. Les projets Web auraient un "projet". tapez référence au projet DLL, et tout serait construit en même temps. Ensuite, vous pouvez utiliser l'option "Publier". outil pour chacun de vos projets Web selon vos besoins.

Autres conseils

Si toutes les applications sont sur le même serveur virtuel, envisagez de placer l'assembly partagé dans le GAC. Cela vous permet de diverger les versions en cas de besoin et de tout conserver au même endroit qu'un bonus. Inconvénients: cet assemblage fonctionne en toute confiance et vous devez utiliser policy et CAS pour vous assurer qu'il n'y a pas d'élévation des points de levier de confiance pour les assemblys externes non approuvés. Vous devez également connaître l’attribut [AllowPartiallyTrustedCallers].

En ce qui concerne les autres choix, COM +, meh, un peu lourd. Bon pour les trucs transactionnels. Les services Web, moins bons pour les services de données lourdes, mais s'ils sont bien faits, peuvent être maintenus assez facilement. Plus il est partagé, meilleur sera le résultat.

Vous pouvez avoir votre projet, mais au lieu d'ajouter la DLL commune à la référence du projet, ajoutez le projet commun à toutes les solutions, puis ajoutez une référence au projet commun.

De cette façon, vous pouvez avoir un projet sur plusieurs solutions et résoudre votre problème;)

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top