两者的比较:
ASP.NET应用工程
- 编译时,把所有代码(包括ASPX、CS等)都编译了。
- 在Web服务器(IIS)上生成dll等动态库文件。
- 从客户端浏览器访问时,再次编译ASPX文件。
- 不使用App_Code文件夹。
ASP.NET站点
- 编译时,只是检查编译错误,并不对各代码进行实质的编译。
- 在Web服务器(IIS)上只配置ASPX及CS文件,并不生成dll动态库文件。
- 从客户端浏览器访问时,编译所有代码(包括ASPX、CS等)。
- 使用App_Code文件夹,其中保存业务逻辑代码;并且,这里不能保存aspx文件,因为http通信不能访问该文件夹。
另外,关于ASP.NET站点类型项目:
- 是从VS2005开始才有的新项目类型,所以可能会与之前VS版本的会有不兼容的情况(不过大家可能都用VS2008以后的版本来开始,这一点也不算太重要)
- VS2005开始的新框架,包括MVC以及云计算的Azure等,原本就不支持在ASP.NET站点类型的项目下开发。
综上两点,虽然表现形式呀网站功能等没有太大差异,但为了适应今后的就开发环境及需求,还是尽量优先选用ASP.NET应用工程项目类型。