繁体   English   中英

在使用Visual Studio .NET的Web应用程序项目类型而不是网站时,我在哪里放置类? (ASP.NET)

[英]Where do I put classes when using Web Application project type of Visual Studio .NET instead of Website? (ASP.NET)

我有很多在Visual Studio中创建ASP.NET网站的经验。 但是有一种替代方法可以通过Web应用程序执行相同的操作,Web应用程序的文件结构略有不同。

由于我创建了我的第一个Web应用程序,我不再使用App_Code文件夹中的类(.cs文件),除非被移动到同一个文件,否则它们不会被ASPX和ASHX类看到。

碰巧我在许多文件中使用相同的类,我不想拥有它们的多个副本。 我把这些课程放在哪里? 有没有创建另一个项目的解决方案?

我们一直在VS 2008中为所有项目使用Web应用程序项目类型,并将我们的公共类放在AppCode文件夹而不是App_Code文件夹中。 它工作得很好,我们在应用程序的所有页面上访问我们的类,没有任何问题。

使用Web应用程序项目,您可以获得更多自由。 只需在项目下创建子文件夹即可保存您的课程。 例如,您可以使用名为“DAL”的文件夹来保存数据访问层项目。

或者,您可以创建一个程序集项目并将您的类放在那里,只需从您的WAP中引用它。

最终,结构将归结为您将拥有多少课程。

你为什么不想创建另一个项目? 这将是最简单的方法,因为您的所有类都将放置在该程序集中,您可以在Web应用程序中进行项目引用,然后可以访问整个项目中的所有内容。

我强烈建议您考虑这种方法。

我将/Shared/Classes用于整个站点中使用的通用类。 我喜欢将其余的类放在Classes文件夹中,使用它们,例如/blog/Classes/

- 编辑 -

上面的答案是我如何在Web窗体应用程序项目中存储类。 现在,我使用MVC,我存储在通用类/Classes下的子文件夹和非通用类/Classes/Classes/Blog 简而言之, Old_App_Code已重命名为Classes 这似乎是我看到微软在MVC中使用的命名约定的自然扩展,而且它也适用于我的旧Web窗体页面。

我通常在解决方案中有三个项目。 Web应用程序,Web库(基页等)和DAL。 这可以保持一切清洁。

把它们放在你想要的任何地 我倾向于将小项目特定的帮助程序类和基页保存在Web项目下的/ Helpers文件夹中,但是将DataLayer的东西和通用的可重用帮助程序拆分到它们自己的单独项目中。

我强烈建议您将所有类(域对象)放在一个单独的项目中。 这样,您就可以轻松地针对业务层(域对象)编写测试,并且您的类将是可移植的。 便携式意味着您可以将DLL发送给其他开发人员,他/她可以轻松地重用您开发的类。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM