ASP.NET与ASP的区别(4)(二)

2017 年 12 月 7 日2600

后台编码

第2种分离代码与内容的方法是后台编码(code-behind)模型,该模型中的代码被完全转移到了一个单独的文件中。对于上面的范例,HTML文件应该如下所示:

<%@Page Language="VB" Inherits="Ch1CodeBehind"

Src="Components\\Ch1CodeBehind.vb" %>

<html>

<body>

<%--This is the content section %>

<form runat="server">

Enter your name: <asp: TextBox id ="Name" runat="server"/>

<br/>

Press the button: <asp: Button OnClick ="btn_Click"

runat ="server" Text="Press Me"/>

<br/>

Your name is: <asp: Label runat="server"/>

</form>

</body>

</html>

这里同样不用担心代码,重要的是结构。请注意脚本程序块已被删除,并添加了一个特殊的Page命令(该内容请参阅第4章)。这就告诉CLR当前页面从指定的文件中继承了代码,如下所示:

Imports System

Imports System.Web.UI

Imports System.Web.UI.WebControls

Public Class Ch1CodeBehind

Inherits System.Web.UI.Page

Public Sub btn_Click (Sender As Object, E As EventArgs)

YourName.Text = Name.Text

End Sub

End Class

请注意,这里的过程btn_Click和内联代码模型一样。这是后台编码模型的一个重要特征;除了几个命令之外,代码是一样的。另外,现在是在一个编译环境中工作,因此性能没有什么损失。

6. 配置

ASP.NET的配置由两个要素决定。第一个是标准IIS设置,这和现存的ASP应用程序是一样的。第二个是配置文件,这个XML文件包含了应用程序的元数据。另外还有一个通用文件machine.config,它包含了所有ASP.NET应用程序的默认值,同时每个ASP.NET应用程序还可以有自己的web.config文件,用来重写这些默认值。包含配置信息的文件有一个优点,就是无需通过注册表来修改设置,因为每个应用程序都是自包含的。另外当部署一个ASP.NET应用程序时,这种配置方式还有另外一个好处,原因是配置仅仅是我们所部署的文件之一。

说明:

配置文件将在第13章中详细介绍。

7. 部署

在ASP.NET中还有一个得到重大简化的领域—— 部署,它通常称为XCopy Deployment,其原因很简单—— 通常必须如此。每个ASP.NET应用程序都是自包含的,其中包括了配置文件和组件。在.NET Framework中,无需再注册组件,只需将它们复制到目标位置即可。

说明:

第13章将介绍部署的详细内容。

但是在这个部署模型中有一些例外。一个是与COM/COM+组件进行交互时,它们仍然需要注册。另一个是使用共享的程序集时,其中的.NET组件会由一个以上的ASP.NET应用程序使用。在这种情况下,组件就不能和其他ASP.NET文件保存在同一个目录中。

说明:

COM/COM+组件的互操作性将在第23章中介绍。

陈刚

本文来源:清华大学出版社

责任编辑:王晓易_NE0011

0 0