日期:2012-08-20  浏览次数:20414 次

wincheer|2002-3-1
--------------------------------------------------------------------------------


    在传统的ASP程序中,我们总是使用Application对象来保存应用程序级的变量。这种方式比较耗费内存----看看那些空间供应商明目张胆的限制Application的数量就知道了。现在好了,我们有了.NET ,可以充分发挥静态变量的优点。一方面,可以作为应用程序级的变量,另一方面,他的访问速度要比Application对象更快。

    在.NET中, 大多数对象都是类, 包括Global.asax 也不例外.为了使用静态变量来代替Application变量, 我们首先需要为Global.asax 赋予一个类名.通过以下方式:

    <%@ Application Classname="MyGlobals" %>

然后,然后我们在脚本标签中定义静态变量,注意 'Public' 和 'Shared' 关键字:

VB:
<Script language="vb" runat="server">

    Public Shared sGreeting as String = "Visit HarrisonLogic.com!"

</Script>

C#
<Script language="C#" runat="server">

    Public Static String sGreeting = "Visit HarrisonLogic.com!"

</Script>

现在我们已建立了 'sGreeting' 变量 set up,可以在.aspx 页面中通过类名和变量名直接调用它:

x = MyGlobals.sGreeting

怎么样,是不是很方便?
================
源程序如下:
Global.asax
<%@ Application Classname="MyGlobals" %>

<Script language="vb" runat="server">

Public Shared sGreeting as String = "Visit HarrisonLogic.com!"

</Script>

page1.aspx

<% @Page Language="VB" %>
<HTML>
<HEAD>
<script Language='vb' runat=server>
Private Sub Page_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
Label1.Text = MyGlobals.sGreeting
End Sub
</script>
</HEAD>
<body>
<asp:label runat=server id=Label1></asp:label>
</body>
</HTML>