?? 在Visual Studio 2010中,除了可以使用“创建Web应用程序”的方式来构建自己的Web项目之外,还可以通过创建“Web网站”的方式来构建Web项 其中,Web网站的创建方法:打开Visual Studio 2010主窗体,在菜单栏里选择“文件”|“新建|网站”命令,在弹出的“新建网站”窗体里可以通过“www.sxzhongrui.com 网站”和“空网站”这两种模板来创建自己的Web网站。Web应用程序的创建方法:打开Visual Studio 2010主窗体,在菜单栏里选择“文件”|“新建|项目”命令,在弹出的“新建项目”窗体里可以通过“web|www.sxzhongrui.com Web应用程序”创建自己的Web应用程序。

? ? ? ? 它们存在如下不同之处:

? ? ? ? 1. 从整体结构来看 ? ? ? ? Web应用程序和一般的Winform程序没有什么区别,它们都是按项目进行管理的,只有被项目文件所引用的文件才会在Solution Explorer中出现,而且只有这些文件才会被编译。可以很容易地把一个www.sxzhongrui.com应用拆分成多个Visual Studio项目,也可以很容易地从项目和源代码管理中排除一个文件。而项目的文件都是按照命名空间来管理的,Web应用程序可以非常方便地引用其他的类 库,并且自己本身也可以作为类库被引用,非常适合于项目分模板进行开发。因此,有人认为Web应用程序可能是微软为了让程序员很好地从Winform过渡 到Web开发而保留了。每一个web页都有三个文件:.aspx, .aspx.design.cs,.aspx.cs文件,每一个网页都有命名空间。 与Web应用程序相比,Web网站采用了全新的开发结构,一个目录结构就是一个Web项目(不用创建项目文件,可以在studio中直接打开该文件夹),这个目录下的所有文件,都作为项目的一部分而存在。Web网站不可以作为类库被引用。每一个web页都有两个文件:.aspx, .aspx.cs文件,它抛弃了命名空间的概念,每一个网页都没有有命名空间。 ? ? ? ? 2. 从编译部署看 ? ? ? ? 调试或者运行Web应用程序页面的时候,必须全部编译整个Web项目。编译整个Web项目通常比较快,因为Visual Studio使用了增量编译模式,仅仅只有文件被修改后,这部分才会被增量编译进去。因为所有的类文件被编译成一个应用程序集,当你部署的时候,只需要把 这个应用程序集和 .aspx文件、.ascx文件、配置文件以及其他静态内容文件一起部署。这种模型下,.aspx 文件将不被编译,当浏览器访问这个页面的时候,才会被动态编译。 ? ? ? ? 而在Web网站项目中的所有的Code-Behind 类文件和独立类文件都被编译成一个独立的应用程序集,这个应用程序集被放在Bin目录下。因为是一个独立的应用程序集,你能够指定应用程序集的名字、版 本、输出位置等信息。在默认情况下,当你运行或调试任何Web页的时候,Visual Studio会完全编译Web网站项目,这么做可以让你看到编译时的所有错误。但是,在开发进程中,完全编译整个站点会是相当慢的。所以推荐你在开发调试 中只编译当前页。 ? ? ? ? 如果在开发上有如下需求,建议使用创建Web应用程序的方式来构建自己的Web项目: ? ? ? ? 希望采用项目的管理方式,需要使用多个项目来构建一个Web应用,即把一个大的www.sxzhongrui.com项目拆分成多个小项目。

? ? ? ? 在开发上Web页面或者Web用户控件中需要使用到单独的类,并且希望使用命名空间来进行管理,编译后要控制应用程序集的名字。

? ? ? ? 如果在开发上有下列需求,建议使用创建Web网站的方式来构建自己的Web项目: ? ? ? ?喜欢使用 Single-Page Code 模型来开发网站页面,而不是使用Code-Behind 模型来编写网站页面。 ? ? ? ? 在编写页面时,为了可以快速地看到编写效果,动态编译该页面,马上可以看到效果,不用编译整个站点。 需要每个页面产生一个应用程序集。 ? ? ? ? 希望把一个目录当做一个Web应用来处理,而不需要新建一个项目文件。 ? ? ? ? 3. 相同点 ? ? ? ? 两种工程进行调试时,均可以采用“内置开发服务器”,也可以外部服务器进行调试。使用外部服务器时,需要建立起对应的虚拟目录。启动时均可以有“当前页、特定页、启动外部程序、启动url、不打开页面,等待来自外部的应用程序”几种选项。

1、打开VS2010,进入VS2010起始页

2、在菜单栏中选择:文件——新建——网站

3、在弹出的新建网站中选择“www.sxzhongrui.com 网站”或“www.sxzhongrui.com 空网站”,在左上角的“已安装模板”中可以选择你要使用的编程语言,其中有VB和C#,选择网站的保存位置并确定网站名称,点击确定按钮。

4、若选择的网站是“www.sxzhongrui.com 网站”,则会以系统中存在的默认网站显示,其中有用户登录、注册、密码修改等页面:

5、若选择的是“www.sxzhongrui.com 空网站”,则以空网站显示,在该网站中就只有一个配置文件:

?

6、此处以空网站为例,在右上角的解决方案资源管理器中的网站名称上右击,选择“添加新项”

7、弹出添加新项选择界面,选择其中的“Web窗体”,确定其名称和决定是否选择母版页,点击添加

8、进入页面的设计,在解决方案资源管理器中也能够看到刚添加的页面,分别选择下面的“设计”“拆分”“源”可对页面进行设计

?

?7、发布网站

8、在目标位置处选择你要放置的路径,可以默认也可以自定义;IIS网站发布时会用到该路径。

9、点击“计算机”右键->“管理”->“服务和应用程序”->Internet信息服务(IIS)管理器

10、点击“网站”右击->“添加网站”;填写网站名称,物理路径为我们之前VS2010中发布网站时的路径;端口号分配一个没用过的,例如8089;点击确定

11、点击IIS栏中的“默认文档”右键->“打开功能”;在打开的窗口中设置网站的起始页,若列表中有就不用添加了。

12、点击“应用程序池”,设置网站的.NET Framework版本为4.0

13、进入应用程序默认设置,确保启用32位应用程序

14、点击浏览,在浏览器中查看页面

?

?

?

转载于:https://www.sxzhongrui.com/killer-xc/p/7744592.html

三层结构,会有多个项目。为了让各项目之间的关系反映在目录结构上所以要建立一个解决方案。

1.建立解决方案: 文件->新建项目->其它项目类型->Visual Studio解决方案->空白解决方案。

2.在解决方案里添加第一个项目 建立空白解决方案后,在vs2010右边的解决方案资源管理器中,可以看到刚建立的解决方案,单击选中它,然后右键选择“添加”->新建项目->Visual C#->www.sxzhongrui.com Web应用程序 ,把名称命为:Web,点击确定后就在解决方案里建立了一个Web项目。

3.在解决方案里添加第二个项目

在解决方案里加入第一个项目后,再加入第二个项目,第二个项目和添加与第一个项目的添加有一点差别,添加第二个项目的步骤是:文件->新建项目->Visual C#->类库。

选择“类库”以后,把名称命名为:BLL,在最下面的“解决方案”里选择“添入解决方案”,意思就是把新建的这个BLL项目,添入到建立的KaiBo解决方案里。

刚才建立的两个项目就在解决方案里很好的组织起来了。

4.在解决方案里添加其它的项目 添加两个项目后,为解决方案添加更多的项目就只需选中解决方案,右键“添加”->新建项目->Visual C#->类库。再自已命名项目名称就可以了。

1、WEB=表示层? 2、BLL=业务逻辑层?? 3、IDAL=数据访问层接口定义? 4、Model=业务实体? 5、DALFactory=数据层的抽象工厂(创建反射) 6、SQLServerDAL=SQLServer数据访问层 / OracleDAL=Oracle数据访问层? 7、DBUtility 数据库访问组件基础类

多了一个WebControls项目,那是我写的一些自定义控件。如果需要,还可以往解决方案里加入更多的项目。到此为止解决方案就建立完成了。但是各项目之间还是各自独立的,要想相互调用就要建立项目间的引用关系。

在vs2010里面把解决方案中的各个项目都建立好之后,就要实现各项目之关的引用了.在前面,我们建立了7个项目.它们分别是: WEB:表示层? BLL:业务逻辑层?? IDAL:数据访问层接口定义? Model:业务实体? DALFactory:数据层的抽象工厂(创建反射) SQLServerDAL:SQLServer数据访问层? DBUtility :数据库访问组件基础类 各项目之间的引用关系可用下图表示:

Web 引用 BLL,SQLServerDAL BLL 引用 IDAL,Model,DALFactory(使用DALFactory创建实例) DAL 引用 Model Model 无引用 DALFactory 引用IDAL,通过读取web.config里设置的程序集,加载类的实例,返回给BLL使用 SQLServerDAL 引用 Model和IDAL,DBUtility.被DALFactory加载的程序集,实现接口里的方法 在解决方案里建立项目间的引用步骤为:选中需要添加引用的项目→右键选择"添加引用"→"项目",然后选中要引用的项目的名称.点确定完成项目的引用. 把各项目之间的引用关系建立好以后,一个完整的解决方案就算是拾建好基石了.接下来,就是写代码实现各项目的作用了.

可以参照视频学习:http://www.sxzhongrui.com/v_show/id_XMjI3NTAzMzY4.html

原文:http://www.sxzhongrui.com/trassion/article/details/7666440