Où puis-je mettre des classes lors de l'utilisation du type de projet Application Web de Visual Studio .NET au lieu du site Web? (ASP.NET)
J'ai une grande expérience de la création de ASP.NET les Sites web dans Visual Studio. Mais il est une autre façon de faire la même chose c'est à travers des Applications Web, qui sont légèrement différentes de la structure du fichier.
Depuis que j'ai créé ma première Application Web, je ne pouvais pas utiliser des classes (.fichiers cs) dans le dossier App_Code plus, ils n'ont pas été vus par le ASPX et ASHX classes moins ont été déplacés vers le même fichier.
Il arrive que j'utilise les mêmes classes à travers de nombreux fichiers et je ne veux pas avoir de multiples copies. Où dois-je mettre ces classes? Il existe une solution sans la création d'un autre projet?
source d'informationauteur Jader Dias
Vous devez vous connecter pour publier un commentaire.
Nous avons été à l'aide de l'Application Web type de projet dans VS 2008 pour l'ensemble de nos projets et de mettre nos classes communes dans AppCode dossier de lieu de dossier App_Code. Il fonctionne tout à fait bien, nous avons accès à nos classes à travers toutes les pages de l'application sans aucun problème.
Avec des Projets d'Application Web vous avez beaucoup plus de liberté. Il suffit de créer des sous-dossiers dans votre projet pour tenir vos classes. Par exemple, vous pourriez avoir un dossier nommé "DAL" de tenir la Couche d'Accès aux Données des articles.
En option, vous pouvez créer un projet d'assemblage et de mettre vos classes dans là et il suffit de référence à partir de votre WAP.
En fin de compte la structure va se résument au nombre de classes que vous aurez.
Pourquoi ne voulez-vous pas créer un autre projet? Ce serait l'approche la plus simple que toutes les classes sont logées dans cette assemblée au cours de laquelle vous pourriez projet de référence dans votre application web et ensuite avoir accès à tout sur l'ensemble du projet.
Je recommande fortement que vous considérez de cette approche.
J'ai l'habitude de trois projets au sein d'une solution. L'application web, le web de la bibliothèque (base de pages, etc) et le DAL. Cela permet de tout nettoyer.
Les mettre n'importe où vous voulez. J'ai tendance à garder le peu de projets spécifiques à des classes d'aide et de la base de pages dans l' /Aides sous-dossier de projet web, mais divisé DataLayer trucs et d'usage général réutilisables des aides pour leurs propres projets.
- Je utiliser
/Shared/Classes
pour usage général les classes utilisées sur tout le site. J'aime mettre le reste de la classe dans un Classes dossier où ils sont utilisés comme/blog/Classes/
.-- EDIT--
La réponse ci-dessus, était de savoir comment j'ai stocké des classes dans les Formulaires Web des projets d'application. Maintenant que je suis en utilisant MVC, je stocke des fins générales de classes dans
/Classes
et non générale des classes dans des sous-dossiers/Classes
comme/Classes/Blog
. En bref,Old_App_Code
a été renomméClasses
. Cela semble être une extension naturelle aux conventions de nommage je vois Microsoft à l'aide de MVC, il est en outre compatible avec mon vieux Formulaires Web les pages de trop.Je recommande fortement que vous mettez tous vos classes (objets du domaine) dans un projet distinct. De cette façon vous serez facilement en mesure de test d'écriture à l'encontre de votre couche métier (objets du domaine) et de vos classes seront transférables. Portable signifie que vous pouvez envoyer votre fichier DLL à un autre développeur et il/elle peut facilement réutiliser les classes que vous avez développés.