演练:在 Visual Web Developer 中创建本地 IIS 网站

更新:2007 年 11 月

在 Visual Web Developer 中,可以创建并编辑网站,这些网站可在不同位置保存网页和其他文件。为定位网页和其他文件,可以有下面的选项:

  • 在本地硬盘上的一个文件夹中,这称为文件系统网站。

  • 作为 Microsoft Internet 信息服务 (IIS) 的本地副本下的 Web 应用程序,这称为本地 IIS 网站。

也可以使用远程服务器上的网站。有关更多信息,请参见 Visual Web Developer 中的网站类型

在此演练中,您将使用在 IIS 的本地安装副本下运行的两个网站。其中一个网站物理上位于 IIS 的根文件夹下(通常为 C:\Inetpub\wwwroot)。另一个网站位于硬盘上的便捷文件夹中,但第二个网站通过使用虚拟目录以供 IIS 使用。

可以使用 IIS 测试网站。如果配置了计算机以允许其他用户连接该计算机,则网站可供这些用户访问。

a1zz9df4.alert_note(zh-cn,VS.90).gif说明:

如果无法在计算机上运行 IIS,仍然可以通过运行 Visual Web Developer 来创建并测试 ASP.NET 网站。有关更多信息,请参见演练:在 Visual Web Developer 中创建基本网页

本演练涉及以下任务:

  • 在 IIS 根目录下创建应用程序和页。

  • 创建使用 IIS 虚拟根目录的应用程序。

  • 使用 IIS 运行页。

  • 在**“解决方案资源管理器”**中使用 IIS。

先决条件

若要完成此演练,必须在计算机上本地安装 IIS,且必须以具有管理权限的用户身份登录。此条件必须满足,因为使用 IIS 元数据库(其中存储着 IIS 应用程序的信息)要求具有管理特权。

在 IIS 根目录下创建网站

在演练的第一部分中,将创建一个网站,该网站驻留在 IIS 的默认文件夹下(通常为 \Inetpub\wwwroot)。

在 IIS 根目录下创建新的本地 IIS 网站

  1. 打开 Visual Web Developer。

  2. 在**“文件”菜单上单击“新建网站”**。

    出现**“新建网站”**对话框。

  3. 在**“Visual Studio 已安装的模板”之下单击“ASP.NET 网站”**。

  4. 单击**“浏览”**。

    出现**“选择位置”**对话框。

  5. 单击**“本地 IIS”**。

  6. 单击**“默认网站”**。

  7. 单击位于右上角的“创建新网站”程序图标。

    此图标没有标签,但是将鼠标指针悬停在其上时,将出现**“创建新 Web 应用程序”**工具提示文本。

    名为**“网站”的新应用程序将添加在“默认网站”**下。

  8. 在新网站的框中,键入 LocalIISWebSite,然后单击**“打开”**。

    出现**“新建网站”对话框,最右边的“位置”框已填入“https://localhost/LocalIISWebSite”**。

  9. 在**“语言”**列表中,单击您想使用的编程语言。

    选择的编程语言将成为网站的默认语言。但可以通过以不同的编程语言创建页面和组件,以便在同一 Web 应用程序中使用多种语言。

  10. 单击**“确定”**。

    Visual Web Developer 将创建新的网站并打开名为 Default.aspx 的新页。将此页保持为打开状态。此初始 Default.aspx 页使用网页代码隐藏模型。有关更多信息,请参见 ASP.NET 网页代码模型

Visual Web Developer 不仅可创建网站的文件夹和文件,而且还可与 IIS 交互,为网站创建 IIS Web 应用程序。实质上,Visual Web Developer 会调用 IIS 以创建元数据,IIS 需要这些元数据以便能够将文件夹和页识别为网站。

通过查看已创建的文件和文件夹,可以检查 Visual Web Developer 已执行的操作。

检查本地 IIS 网站的结构

  1. 在 Microsoft Windows 中,单击**“开始”,再单击“运行”**。

    在**“运行”对话框的“打开”框中,输入 C:\Inetpub\wwwroot,然后单击“确定”**。

    a1zz9df4.alert_note(zh-cn,VS.90).gif说明:

    如果 IIS 安装在不同的驱动器或文件夹中,则根据相应的情况更改路径。

    在 \wwwroot 下,现在可以看到名为 LocalIISWebSite 的新文件夹。

  2. 在“路径”对话框中,双击**“LocalIISWebSite”**。

    您可看到网站的内容,包括如下:

    • App_Data 文件夹,由 Visual Web Developer 自动创建。

    • Default.aspx 页。

    • 代码隐藏文件,为 Default.aspx.cs 或 Default.aspx.vb,这取决于 Web 应用程序的默认语言。

可以按通常那样,向网站添加页。不过,也可以从外部向网站添加页,Visual Web Developer 可将这些页识别为应用程序的一部分,但可能必须更新**“解决方案资源管理器”**才能看到这些页。

添加控件并对控件进行编程

在演练的此部分中,将向页添加 Button、TextBox 和 Label 控件,并编写代码以处理 Button 控件的 Click 事件。

将控件添加到页

  1. 在 Visual Web Developer 中,打开或切换到 Default.aspx 页,然后切换到“设计”视图。

  2. 按几次 Enter 以留出一些空间。

  3. 从**“工具箱”中的“标准”**选项卡上,将这三个控件(TextBox、Button 和 Label 控件)拖动到页上,然后将它们放置在页上的 div 元素内。

    a1zz9df4.alert_note(zh-cn,VS.90).gif说明:

    如果看不到“工具箱”,请在“视图”菜单上单击“工具箱”

  4. 将插入点指针置于文本框的前面,然后键入“输入您的姓名:”。

  5. 单击 Button 控件,然后在**“属性”窗口中,将“Text”**设置为“显示名称”。

  6. 单击 Label 控件,然后在**“属性”窗口中,清除“Text”**。

  7. 双击 Button 控件,该控件现在的标签是**“显示姓名”**。

    Visual Web Developer 将在编辑器中的单独窗口中打开页的代码文件。

    该文件包含 Button 控件的主干 Click 处理程序。

  8. 通过添加下面突出显示的代码,完成 Click 处理程序,在单击 Button 控件后,该代码将显示文本字符串。

    a1zz9df4.alert_security(zh-cn,VS.90).gif安全说明:

    ASP.NET 网页中的用户输入可能包括恶意的客户端脚本。默认情况下,ASP.NET 页在回发时会检查页,以保证用户输入不包括脚本或 HTML 元素。有关更多信息,请参见脚本侵入概述

    Protected Sub Button1_Click(ByVal sender As Object, ByVal e As System.EventArgs) Handles Button1.Click
        Label1.Text = Textbox1.Text & ", welcome to Visual Web Developer!"
    End Sub
    
    protected void Button1_Click(object sender, EventArgs e)
    {
        Label1.Text = TextBox1.Text + ", welcome to Visual Web Developer!";
    }
    
  9. 保存文件。

    在此演练的稍后部分中的“测试 IIS Web 应用程序”中,将测试此网页。

在 Visual Web Developer 外更新网站

通过从 Visual Web Developer 外部向应用程序添加新的文件,可以看到 Visual Web Developer 将读取 IIS 路径。

在 Visual Web Developer 外更新网站

  1. 通过使用记事本或其他文本编辑器,创建一个新文件,取决于您是使用 Visual Basic 还是 C#,该文件将包含下面的文本。

    <%@Page language="VB"%>
    <script runat="server">
    Protected Sub Button1_Click(ByVal sender As Object, ByVal e As System.EventArgs) Handles Button1.Click
       Button1.Text = "I was clicked!"
    End Sub
    </script>
    <html>
    <body>
    <form runat="server" id="form1">
    <asp:button runat="server" text="Button1" Id="Button1"
        OnClick="Button1_Click"></asp:button>
    </form>
    </BODY>
    </HTML>
    
    <%@Page language="C#"%>
    <script runat="server">
    protected void Button1_Click(object sender, System.EventArgs e)
    {
       Button1.Text = "I was clicked!";
    }
    </script>
    <html>
    <body>
    <form runat="server" id="form1">
    <asp:button runat="server" text="Button1" Id="Button1"
        OnClick="Button1_Click"></asp:button>
    </form>
    </BODY>
    </HTML>
    
  2. 将文件以 TestPage.aspx 名称保存在 C:\inetpub\wwwroot\LocalIISWebSite 路径中。

    a1zz9df4.alert_note(zh-cn,VS.90).gif说明:

    如果 IIS 安装在不同的驱动器或文件夹中,则根据相应的情况更改路径。

  3. 在 Visual Web Developer 中,在**“解决方案资源管理器”中,单击网站名称(“https://localhost/LocalIISWebSite/”),然后在“视图”菜单上单击“刷新”**。

    网站中的文件列表经过更新,以包括添加的文件。接下来将测试网页。

测试 IIS Web 应用程序

现在可以测试网站。

测试本地 IIS 网站

  1. 在 Visual Web Developer 中,打开 Default.aspx 页。

  2. 按 Ctrl+F5 运行该页。

    该页在浏览器中打开。请注意,浏览器中的 URL 是**“https://localhost/LocalIISWebSite/default.aspx”**。页的请求发至 localhost(不带端口号),该请求由 IIS 处理。

  3. 当页出现在浏览器中时,在文本框中输入您的姓名,然后单击**“显示姓名”**,确保该页正常工作。

  4. 在 Visual Web Developer 中,打开 TestPage.aspx 页。

  5. 按 Ctrl+F5 运行该页。

    该页在浏览器的同一实例中打开。

  6. 当页出现在浏览器中时,单击**“Button1”**,确保该页正常工作。

  7. 关闭浏览器。

如果可以从另一台计算机连接到这台计算机,则可以尝试将网站视为公共网站对其进行访问。如果无法从另一台计算机连接到这台计算机,则可以跳过此过程。

将网站作为公共网站进行测试

  • 从另一台计算机上键入 URL,包括 Web 服务器的计算机名、网站名和作为页的 default.aspx:

    • 如果可以通过局域网访问计算机,则可使用服务器的计算机名,该服务器具有如下所示的 URL:

      http://server1/LocalIISWebSite/default.aspx

    • 如果在计算机上承载域,则可以使用如下所示的 URL 来访问页:

      https://www.contoso.com/LocalIISWebSite/default.aspx

    • 如果计算机位于网络上,或直接连接到 Internet,则可以将计算机的 IP 地址用作服务器名。例如:

      http://172.19.195.700/LocalIISWebSite/default.aspx

      a1zz9df4.alert_note(zh-cn,VS.90).gif说明:

      如果因为 Windows 防火墙设置而无法从另一台计算机中查看应用程序,则可能必须启用 Web 服务器的 80 端口。可以通过单击“设置”,在 Windows 防火墙的“高级”选项卡上进行此操作。有关更多信息,请转到 Security Developer Center -- .NET Framework Security(安全开发人员中心 -- .NET Framework 安全),并搜索有关 Windows 防火墙设置的信息。

创建作为 IIS 虚拟根目录的网站

至此您已了解到,IIS 使您创建物理上位于默认 Web 服务器根文件夹 (wwwroot) 下的 Web 应用程序。但是,还可以创建 IIS 虚拟目录,这些虚拟目录是指向文件和文件夹的 IIS Web 应用程序,而文件和文件夹可以位于硬盘上的任何位置。

a1zz9df4.alert_note(zh-cn,VS.90).gif说明:

由于安全原因,IIS 不允许创建指向其他计算机上的文件夹的虚拟目录。虚拟目录必须始终指向本地计算机。

在此演练部分,将使用 Visual Web Developer 创建一个虚拟目录,该虚拟目录指向存储在计算机上的本地文件夹中的网站。

第一步是创建虚拟目录。如果已经在 Visual Web Developer 中创建了一个文件系统网站(例如,通过完成演练:在 Visual Web Developer 中创建基本网页),则可以使用该网站。

使用虚拟文件夹创建本地 IIS 网站

  1. 在 Visual Web Developer 中的**“文件”菜单上,单击“新建网站”**。

  2. 在**“Visual Studio 已安装的模板”之下单击“ASP.NET 网站”**。

  3. 单击**“浏览”**。

    出现**“选择位置”**对话框。

  4. 单击**“本地 IIS”**。

  5. 在**“选择要打开的网站”下,在树视图中单击“默认网站”,再单击位于角上的“创建新虚拟目录”**图标。

    此图标没有标签,但是将鼠标指针悬停在其上时,将出现**“创建新虚拟目录”**工具提示文本。

    出现**“新建虚拟目录”**对话框。

  6. 在**“别名”**框中键入 WebSite_vdir。

    a1zz9df4.alert_note(zh-cn,VS.90).gif说明:

    可以按喜好命名虚拟目录,只要使用的名称在 IIS 中有效。

  7. 在**“文件夹”**框中,键入如下内容之一:

    • 现有的一个文件系统网站的路径(如果该网站存在)。如果不记得确切的路径,可以单击**“浏览”**,然后定位该网站的根文件夹。

    • 要在其下创建一个新文件夹的路径,该文件夹用以存储网站的文件夹和文件。

  8. 单击**“确定”**。

    如果指定的文件夹不存在,则 Visual Web Developer 会提示您创建该文件夹。

    然后,Visual Web Developer 返回到**“选择位置”**对话框,并更新 IIS Web 应用程序的列表,这些应用程序具有您创建的虚拟目录。

  9. 选择刚创建的虚拟目录,单击**“打开”,再单击“确定”**,以创建网站。

    如果将虚拟目录指向新文件夹或不包含网站的现有文件夹,则 Visual Web Developer 会创建 App_Data 文件夹和一个默认页,并在设计器中打开该页。

    如果虚拟文件夹指向现有的文件系统网站,则 Visual Web Developer 会打开**“网站已存在”对话框,并提供用于选择新文件夹、打开现有网站或在现有位置中创建新网站的选项。选择所需选项并单击“确定”后,Visual Web Developer 会在“解决方案资源管理器”**中显示文件夹的内容,并打开 Default.aspx 页(如果该页存在)。

将控件添加到网页

与在此演练的前面部分中执行的操作一样,将使用简单的 ASP.NET 网页来测试要创建的 IIS 网站。如果使用现有的文件系统网站,则不必创建新页。如果虚拟目录指向一个新文件夹,则可以使用该文件夹的页。

如果是新网站,则将要向默认页添加一些控件,以便可以测试该页是否正常工作。

将控件添加到页

  1. 在 Visual Web Developer 中,打开 Default.aspx 页并切换到“设计”视图。

  2. 从**“工具箱”“标准”**选项卡上,将 TextBox、Button 和 Label 控件拖动到页上,再将它们放置在 div 元素内。

  3. 双击 Button 控件,然后添加下面突出显示的代码:

    Protected Sub Button1_Click(ByVal sender As Object, ByVal e As System.EventArgs) Handles Button1.Click
        Label1.Text = "Welcome to Visual Web Developer!"
    End Sub
    
    protected void Button1_Click(object sender, System.EventArgs e)
    {    
        Label1.Text = "Welcome to Visual Web Developer!";
    }
    
  4. 保存文件。

测试虚拟目录

现在可以测试网站。

测试使用虚拟目录的本地 IIS 网站

  1. 在 Visual Web Developer 中,打开网站中的一个页,该页可以是 Default.aspx 页或其他页。

  2. 按 Ctrl+F5 运行该页。

    该页在浏览器中打开。请注意,浏览器中的 URL 是**“https://localhost/Website_vdir/default.aspx”**。当 IIS 解析 URL 时,查找与名为 Website_vdir 的虚拟目录相关联的物理路径,然后查找该路径下的页。

  3. 当页出现在浏览器中时,单击**“Button”**控件,确保该页正常工作。

  4. 关闭浏览器。

如果可以从另一台计算机连接到这台计算机,则可以试用前一节中使用的相同测试,来尝试访问页。

删除本地 IIS 网站

通过删除不再需要的网站,可在 Visual Web Developer 中管理本地 IIS 网站。取决于所用本地 IIS 网站的类型,在如何进行删除方面有一项重要的不同,如下:

  • 当删除 IIS 根目录下的网站时,将从 IIS 中删除 Web 应用程序,还将删除网站的文件和文件夹。

  • 当删除虚拟目录时,将删除与网站相关的 IIS 信息,但本地文件系统文件夹中的文件和文件夹保持不变。

删除本地 IIS 网站

  1. 在**“文件”菜单上,单击“关闭解决方案”“关闭项目”**。

  2. 在**“文件”菜单上单击“打开网站”**。

  3. 在**“打开网站”对话框中单击“本地 IIS”**。

  4. 单击在演练的前面部分中创建的虚拟目录的名称(“Website_vdir”)。

    a1zz9df4.alert_caution(zh-cn,VS.90).gif警告:

    如果选择另一个网站,则可能删除该网站的文件和文件夹。

  5. 单击上角的删除图标。

    此图标没有标签,但是将鼠标指针悬停在其上时,将出现**“删除”**工具提示文本。

  6. 当提示您确认删除网站时,单击**“是”**。

  7. 单击**“取消”关闭“打开网站”**对话框。

  8. 打开浏览器,然后键入虚拟目录的 URL:

    https://localhost/Website_vdir/default.aspx

    这次,浏览器报告无法找到页,因为 IIS 已不再将 Website_vdir 识别为本地计算机上的网站。

    a1zz9df4.alert_note(zh-cn,VS.90).gif说明:

    该页可能已被本地浏览器缓存。这种情况下,该页可能仍将显示,直到刷新浏览器缓存,然后尝试再次查看页为止。

后续步骤

在此演练中,您已了解如何使用 IIS 的本地副本创建网站。您可能还需要了解可在 Visual Web Developer 中创建的其他类型的网站。例如,您可能希望执行下列操作:

请参见

概念

Visual Web Developer 中的网站类型

以非管理员用户身份使用 Visual Web Developer