• 用静态变量代替appliction


    我们知道,Application变量是一个全局的变量,它和session变量的区别在于,Application变量对任何用户都是相同的,而session变量则根据不同用户而获取不同的相应值。
    下面是转载的一篇巧用全局类的静态变量来代替Application的文章:
    =================================================================================
    在传统的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>
    ===============================================================================
  • 相关阅读:
    react之引用echarts
    vue之生命周期
    算法之冒泡排序
    算法之快速排序
    算法题之统计字符串中出现最多的字母
    使用http-proxy-middleware 代理跨域
    div产生的滚动条返回顶部
    Django实战(18):提交订单
    Django实战(17):ajax !
    Django实战(16):Django+jquery
  • 原文地址:https://www.cnblogs.com/shineqiujuan/p/1210204.html
Copyright © 2020-2023  润新知