
1.2 ASP.NET开发环境
Visual Studio 2008是ASP.NET 3.5程序的开发工具,而ASP.NET应用程序需要运行在IIS系统中。
1.2.1 Visual Studio 2008
Visual Studio 2008的安装过程同其他常用程序的安装一样,这里就不再赘述。下面将简要介绍一下Visual Studio 2008的使用。
1.创建ASP.NET项目
利用Visual Studio 2008创建一个ASP.NET项目,步骤如下:
(1) 选择“开始”—“所有程序”—“Microsoft Visual Studio 2008”“— Microsoft Visual Studio 2008”命令,打开Visual Studio 2008,如图1-2所示。

图1-2 Visual Studio 2008的主界面
Visual Studio 2008的主界面包含内容如下:
● 最近打开过的项目列表,可以通过单击项目列表中某个项目以进入这个项目。
● Visual Studio开发人员新闻列表,单击列表中链接可以打开该新闻的详细信息页面。在这个列表中,很可能发现感兴趣的文章、一个源码示例或一个漂亮的组件。因此经常浏览这个新闻列表对提高程序开发能力很有好处。
● 开始帮助列表,这个列表列出了对开发者可能有用的帮助主题列表,通过这个列表提供内容读者可以获得需要的帮助。
● Visual Studio标题新闻列表,提供了有关开发帮助的一些标题新闻列表。通过这些列表,用户可以获取各种主题的帮助内容来提高开发能力。
● 此外还包括一些菜单命令,这些命令会在后面介绍。
(2) 在启动Visual Studio 2008之后,在图1-2中单击与创建对应的“项目”按钮或选择“文件”—“新建”命令,打开如图1-3所示的“新建项目”对话框。

图1-3 “新建项目”对话框
图1-3的左边显示了可以创建项目类型,右边显示与选定的项目类型对应的项目模板。打开Viusal C#父类型,选择Web类型,在右边显示了可以创建的Web项目的模板,包括:ASP.NET Web应用程序、ASP.NET Web服务应用程序、ASP.NET AJAX服务器控件、ASP.NET AJAX服务器控件扩展程序、ASP.NET服务控件、WCF服务应用程序。选择ASP.NET Web应用程序,在“名称”文本框中输入项目名称,并选择相应的存储目录,单击“确定”按钮即可创建一个新的Web项目。
2.解决方案资源管理器
当创建一个新的网站项目之后,就可以利用资源管理器对网站项目进行管理,通过资源管理器,可以浏览当前项目所包含的所有的资源(.aspx文件、.aspx..cs文件、图片等),也可以向项目中添加新的资源,并且可以修改、复制和删除已经存在的资源。解决方案资源管理器如图1-4所示。
图1-4显示了Web项目Sample2-1的资源管理器,通过资源管理器,可以对当前项目包含的资源有一个详细的掌握。
3.添加新的资源
在图1-4中,右键单击项目名称,弹出如图1-5所示的菜单。

图1-4 解决方案资源管理器

图1-5 右键单击项目名称的菜单
在图1-5所示的菜单有四个添加项,分别是:添加、添加引用、添加Web引用和添加服务引用。其中“添加”命令可以添加的资源如图1-6所示,“添加引用”命令用来添加对类的引用,“添加Web引用”命令用来添加对存在于Web上的公开类的引用,“添加服务引用”命令用来添加对服务的引用。
图1-6所示的“添加”命令的下级菜单命令,包括:新建项、现有项、新建文件夹、添加ASP.NET文件夹、组件和类。其中,“新建项”命令用来添加ASP.NET3.5支持的所有文件资源;“现有项”命令用来把已经存在的文件资源添加到当前项目中去;“新建文件夹”命令用来向网站项目中添加一个文件夹;“添加ASP.NET文件夹”命令用来向网站项目中添加一个ASP.NET独有的文件夹;“组件”命令用来向网站项目中添加一个定义组件的文件;“类”命令用来向网站项目中添加一个类的定义文件。

图1-6 “添加”命令的下级菜单命令
在图1-6中选择命令“新建项”打开如图1-7所示的“添加新项”对话框,在该对话框中选中要添加的文件模板,并在“名称”文本框中输入该文件的名称,单击“添加”按钮即可向网站项目中添加一个新的文件。

图1-7 可以添加的文件资源
4.编辑Web页面
在添加一个Web页面后,可以使用Visual Studio对它进行编辑,在资源管理器中双击某个要编辑的Web页面文件,该页面文件就会在中间的视窗中打开,如图1-8所示。页面文件编辑视窗分为三个视图:设计视图、拆分视图和源视图。其中,设计视图用来显示设计的效果,并且可以从工具箱中直接把控件放置在设计视图中,工具箱是放置控件的容器,如图1-9所示;拆分视图同时显示设计视图和源视图;源视图显示设计源码,可以在该视图中直接通过编写代码来设计页面。

图1-8 Web页面编辑窗口

图1-9 工具箱
5.属性查看器
在Web页面设计视图下,右键单击某一个控件或页面的任何地方,在弹出的菜单中选择“属性”命令,就会弹出与之对应的属性查看器,如图1-10所示。

图1-10 属性查看器
在属性查看器中,可以编辑想要修改的属性,比如修改背景色,可以在BgColor后面的文本框中输入对应的颜色值,或者单击BgColor后面的按钮弹出颜色选择器,在颜色选择器中可以选择对应的颜色。
6.编辑后台代码
在Web页面的设计视图下,双击页面的任何地方即可打开隐藏的后台代码文件,如图1-11所示,在此界面中,开发者可以编写与页面对应的后台逻辑代码。

图1-11 后台代码编辑界面
1.2.2 安装和配置IIS
在Windows 2000上安装的IIS的版本号是5.0,在Windows XP上安装的IIS的版本号是5.1,除此之外,这两种安装过程的区别不大。这里以Windows XP为例来安装IIS 5.1,需要注意的是,不能在Windows xp home版安装IIS,因此不能在其上运行ASP.NET。安装IIS的步骤如下:
(1) 选择“开始”—“控制面板”—“添加或删除程序”命令,显示如图1-12所示的对话框,该对话框显示当前已经安装的程序。

图1-12 “添加或删除程序”对话框
(2) 在对话框的左侧选择“添加/删除Windows组件”图标,弹出“Windows组件向导”对话框,如图1-13所示。

图1-13 “Windows组件向导”对话框
(3) 在“Windows组件向导”对话框找到“Internet信息服务(IIS)”,如果尚未安装,则其左侧的复选框不会被选中;如果复选框是不可选状态,说明IIS的组件没有全部安装。否则说明IIS已经全部安装,退出安装过程。
(4) 如果复选框没有被选中,则选中该复选框;如果复选框是不可选状态,则选中该项,单击“详细信息”按钮,弹出如图1-14所示的对话框。

图1-14 “Internet 信息服务器(IIS)”对话框
(5) 在“Internet信息服务器(IIS)”对话框中选择要安装的选项,对于本书来说,“公用文件”是一定要选中的。选择完毕要安装的项后,单击“确定”按钮,返回到“Windows组件向导”对话框。单击“下一步”按钮安装IIS 5.1,此时可能会提示用户将Windows XP系统盘放入光驱。
(6) 安装完毕之后,返回到“添加和删除程序”对话框。
作者心得:
一旦安装完成,系统会自动启动IIS,而且在此之后,无论何时启动Windows,系统都会自动启动IIS。因此,用户不需要运行启动程序,也不需要像启动Word等程序那样单击快捷方式。
用户可以通过“Internet信息服务”对话框关闭IIS,步骤为:
(1) 选择“控制面板”—“管理工具”—“Internet信息服务”命令,弹出“Internet信息服务”对话框。
(2) 依次展开根节点、“网站”节点、“默认网站”节点,如图1-15所示。

图1-15 Internet信息服务
(3) 右键单击“默认网站”节点,弹出如图1-16所示的菜单。

图1-16 “默认网站”右键菜单
(4) 用户可以选择“停止”关闭IIS服务,也可以选择“暂停”暂停IIS服务。后面管理Web服务器目录时本书还会通过“新建”菜单来建立新的网站。
当用户通过HTTP浏览位于Web服务器上的一些Web页面时,Web服务器需要确定与该页面对应的文件位于服务器硬盘上的什么位置。事实上,在由URL给出的信息与包含页面的文件的物理位置(在Web服务器的文件系统中)之间有着重要的关系。这个关系是通过虚拟目录来实现的。
虚拟目录相当于物理目录在Web服务器机器上的别名,它不仅使用户避免了冗长的URL,也是一种很好的安全措施,因为虚拟目录对所有浏览者隐藏了物理目录结构。下面介绍创建虚拟目录的步骤:
(1) 在硬盘上创建一个物理目录,这里在C盘的根目录下创建一个目录,命名为ASPTest。
(2) 启动Internet信息服务,右键单击“默认网站”节点,在如图1-16所示的菜单中选择“新建”—“虚拟目录”命令,启动虚拟目录创建向导,如图1-17所示。

图1-17 “虚拟目录创建向导”
(3) 单击下一步,弹出“虚拟目录别名”对话框,如图1-18所示。

图1-18 虚拟目录别名
(4) 在“别名”文本框中输入虚拟目录的名字,这里命名为“ASPTest”,和它的物理目录的名字相同。然后单击“下一步”按钮,弹出如图1-19所示的对话框。

图1-19 网站内容目录
(5) 选择刚才创建的物理目录“C:\ASPText”,单击“下一步”按钮,弹出“访问权限”对话框,如图1-20所示。

图1-20 访问权限
(6) 在“访问权限”对话框中设置虚拟目录的访问权限,除非读者明白自己需要什么样的权限,否则不要改变创建时默认的权限。单击“下一步”按钮,弹出如图1-21所示的对话框。

图1-21 创建完成
(7) 单击“完成”按钮,完成虚拟目录的创建。此时,在“Internet信息服务”窗体的目录树中将显示该ASPTest虚拟目录,如图1-22所示。

图1-22 新创建的虚拟目录
当创建目录时,可以使用虚拟目录向导中提供的选项,将权限赋给目录,也可以在“Internet信息服务”窗体的ASPTest虚拟目录中右键单击,从弹出的菜单中选择“属性”命令,弹出如图1-23的对话框,来设置虚拟目录的访问权限。

图1-23 “ASPTest属性”对话框
(1) 访问权限。
在图1-23所示的对活框中,用户需要注意的是位于左边的4个复选框。它们用于确定给定目录的访问类型,并说明包含于目录中的文件的允许权限。下面分别介绍这4个选项。
● 脚本资源访问复选框:该权限允许用户访问ASP.NET页面的源代码。只有赋予了读取或写入权限后,才允许使用该权限。但通常不希望用户能够浏览ASP.NET源代码,因此,一般情况下包含ASP.NET页面的任何目录均不选中该复选框。默认情况下,在设置过程中所有目录均禁用脚本资源访问权限,应保留该默认设置。
● 读取复选框:该权限允许浏览器读取或下载保存在主目录或虚拟目录中的文件。如果浏览器向无读取权限的目录请求了一个文件,Web服务器将只返回一个错误消息。请注意,当关闭文件夹的读取权限时,就不能读取位于文件夹中的HTML文件,但文件夹中的ASP.NET代码仍能够运行。总的来说,包含希望发布的信息(如HTML文件)的目录应具有读取权限。
● 写入复选框:如果启用虚拟目录中的写入权限,用户就能够在该目录中创建或修改文件,并修改这些文件的属性。出于安全性考虑,通常并不启用该权限,而且建议用户不要改变该设置。
● 目录浏览复选框:如果用户希望他人测览目录的内容(即查看包含在目录中的所有文件列表),那么可通过选中目录浏览复选框来使该权限有效。
(2) 执行权限。
在图1-23所示的属性对活框的底部有一个标记为执行权限的下拉列表框。它用于确定在包含于指定目录中的页面上允许执行什么级别的程序。这里有3种可能的值:无、纯脚本、脚本和可执行文件。
● 将执行权限设置为无,表示用户只能访问静态文件,如图像文件、HTML文件。对用户来说,包含于指定目录的其他任何基于脚本的可执行文件都是不可访问的。如果用户试图从权限被设置成无的文件夹中运行一个ASP.NET页面,就会在页面上得到禁止执行访问的消息。
● 将执行权限设置为纯脚本,表示用户不仅能访问静态文件,也能访问任何一个基于脚本的页面,如ASP.NET 页面。因此,如果用户请求了一个包含于指定目录中的ASP.NET页面,Web服务器将允许执行ASP.NET代码。并且,由此得到的HTML会传递回浏览器。
● 将执行权限设置为脚本和可执行文件,表示用户能够执行包含在目录中的任何类型的文件。通常不应采用该设置,以禁止用户在Web服务器上执行具有潜在破坏性的应用程序。
作者心得:
对于包含要发布的ASP.NET文件的任何目录,最好将执行权限设置为纯脚本。