首页 >> 读书频道 >> 电脑 >> Application和Session
 
· 编写global.asa
· 配置Config.web
· 用C#代码编写的SN快速
· 用Visual C#实现
· 应用程序
· Visual C#实现M
· 如何开发一个多种语言版本
· C#中如何得到主机名与I
· 利用Visual C#编
· 对于关键字Ref和Out
· 数据绑定技术
· 用C#创建PDA应用程序
 
· 电视剧《刁蛮公主》下载和
· 美容养颜手册
· 加油金顺剧情分集介绍完整
· 红楼梦:120回全本[清
· 素质教育在美国
· 全唐诗卷四十六
· 韩剧《布拉格恋人》剧情介
· 夜航船[作者:明·张岱]
· 局外人[作者:韩·可爱淘
· 现场流行病学
· 源氏物语[日本:紫式部]
· 武林寓言故事
 
· (出租)中动商场部分及写
· (出租)中动动漫基地&#
· 喜剧学院
· 《善德女王》剧情介绍
· 魔女18号 剧情
· 丑女无敌剧情介绍
· 魔女幼熙剧情介绍
· 龙游天下剧情介绍
· 震撼世界的七日剧情介绍
· 静静的白桦林剧情介绍
· 心情日记—老公今天我想对
· 旗舰剧情介绍
欢迎来到月影社区!如果您觉得这里不错,请推荐给您的朋友们。月影社区:http://wf66.com/

Application和Session


查看有无更新版本

关键字:ASP.NET 2006-9-20

 

4.4.1 Application对象
在讲述ASP.NET的Application对象之前,我们先来回顾一下ASP的Application对象。我们知道由于变量的生命周期受限于网页,所以每当.asp文件被解释执行完毕之后时,变量就会被释放,它的内容将不存在。而在编程过程中,我们有时又需要在页面之间传递变量的内容。例如,我们在一个登录页面中输入了用户的名字,为了使页面个性化,在后面的页面显示中,我们希望知道前面输入的用户名,以便于更好的人机交互。这就要求有一种变量传递的机制。人们最常用的保存变量的内容的方法是使用文件,但是毕竟对文件的的操作是比较麻烦的事情,有没有更简单的方法呢?其中一种比较简单的方法就是使用Application对象来保存我们希望传递的变量。由于在整个应用程序生存周期中,Application对象都是有效的,所以在不同的页面中都可以对它进行存取,就像使用全局变量一样方便。在asp.net环境下,Application对象来自HttpApplictionStat类。它可以在多个请求、连接之间共享公用信息,也可以在各个请求连接之间充当信息传递的管道。
4.4.1.1 使用Application对象
 Application对象重要的属性:

 •All属性,返回应用中保存的所有的公用对象数组
  例如:
dim MyObjects() as object
MyObjects=Application.All
  表示用myobjects取得了当前应用保存的所有对象

 •AllKeys属性,返回应用中保存的公用对象的名字数组(标识数组)
例如:
  dim MyVars() as String
     MyVars=Application.AllKeys
 即取得了所有保存的公用对象的标识名字到myvars数组

•Contents属性,返回this指针,主要是为了和asp兼容而保留

•Count属性,返回当前应用中保存的公用对象的数目
  例如:
    dim VarNum as integer
       VarNum=Appliction.count
 
•Item属性,返回当前应用中保存的公用对象集合中的指定对象,这是最常用的属性。
  例如我们前面讨论的,记录变量内容的问题,就是通过item属性来保存的。
   Appliction.Item(变量名)=要保存对象
  但是通常我们都会省去item属性写成:
Application(变量名)=要保存对象
 这里需要注意的是,Application保存的对象为应用程序所共享,而.net平台又是一个多用户多线程的环境,因而Application保存的对象在使用时,要注意避免冲突。
例如:
Application(”counter”)= Application(”counter”)+1
它使开始用户保存的数值加1,我们可以利用它来统计页面浏览的次数。但是有一个问题发生了,那就是如果另外一个页面也使用了上述语句,那么混乱就产生了。设想一下如下情况,用户a对页面a访问,使counter+1,然后用户b对页面b的访问,counter又增加了1,实际上无论对页面a还是页面b,访问都只有一次,counter却增加了2次,由于记数变量的相同使得我们统计页面的努力化为泡影。

•StaticObjects属性,返回在应用程序文件中型如<object runat=server></object>定义的对象的集合。

下面,我们对上面学到的各种属性进行应用。
例子:
 我们首先产生6个Application变量,然后分别用item属性和all属性去逐一取出各个Application变量的内容显示出来。注意为了避免其他公用Application变量的干扰,我们在页面加载时,调用了removeall方法,清空应用的所有公用变量。

1. 程序源代码
<!-- 文件名:Application\FormAppliction.aspx -->

<html>

 <script language="vb" runat=server>
   Sub Page_Load(o as object,e as eventargs)

    dim i as integer
    dim tStr as String
    dim sStr as String
    dim strArray() as String
    dim tObject() as Object
    dim ObCol as HttpStaticObjectsCollection

   If Not IsPostBack
         Application.removeall
  '为防止其他变量干扰,使用前清掉所有的保存变量

  '保存六个变量
         for i=1 to 6
   tStr="变量名" & i
          sStr="内容" & i
   Application(tStr)=sStr
         next
   Else
       '采用item属性遍历
       response.write("<center><b>采用item属性显示</b></center><br>")   
       strArray=Application.Allkeys
       for i=1 to Application.count
       tStr= strArray(i-1) & "=" & Application.item(i-1)&"  "
       response.write(tStr)
       next
      
       '采用All属性遍历
       response.write("<hr><center><b>采用All属性显示</b></center><br>")
       tObject=Application.All
       for i=1 to Application.count
       tStr=tObject(i-1).ToString & "  "
       response.write(tStr)
       next
      
       '显示有多少个object定义
       ObCol=Application.StaticObjects
       response.write("<hr>含有object标识:" & ObCol.count & "个")
    
  End If   
   End Sub
 </script>

 <head>
  <title>
  Appliction对象试验
  </title>
 </head>

 <body bgcolor=#ccccff>
  <center>
   <h2>Appliction对象试验</h2>
   <hr>
    <form runat=server>
 <asp:button text="显示Appliction内容" runat=server />
    </form>
  </center>
 </body>
</html>

Application和Session

[ 1 ]
Application和Session num

打印本页 关闭

关于我们版权声明本站导航友情连结作品演示 TOP↑