奥义思网站建设-www.aooly.com
奥义思坚信质量高于产量
我们的团队自成立以来,秉承着质量是衡量价值最重要标准的理念,致力于打造高品质数字产品。不放过任何一个小的瑕疵而一蹴而就,体现的不仅是我们对品质的苛求,也是对客户以及产品负责的态度。
马上联系我们,让天才的设计师帮您实现这一切。

    ASP.NET讲座(6)-ASP.NET的几种主要文件

      使用ASP的同仁们一定经常使用这些东西,因为不管什么产品的开发都离不开与用户的互动,而在ASP中,他们三个,正是互动的桥梁。 


      ASP.net中,他们也受到了足够的重视,但改变不是很大。 

      6.1 Application 

      Application的生命周期

      Application的生命周期,并不是是从IIS5开始启动的那一刻开始,而是从客户对服务器发出第一个Request的那个时候开始的。从那时开始一个名叫HTTPApplication的Pool开始建立,这也是Application生命周期(lifetime)的开始。此时Application_OnStart的事件也发生了。直到Application_OnEnd的事件发生,才是Application生命周期的结束。

      Application写的网站计数器

      <%
       Application.Lock()
       Application("counter") = CType(Application("counter") + 1, Int32)
       Application.UnLock()
      %> 

      与ASP中还是一样的。 

      Application 与ASP中的不同的地方

      Application与ASP不同的地方在于 新多了两个事件 Application_OnRequestStart()和Application_OnRequestEnd() 这两个事件,在用户开始浏览一个aspx文件,和aspx文件运行结束时触发,也就是说,这两个事件,不是针对整个服务器来说的,而是对于单个程序来说。

      6.2 Session

      在ASP中,我们都知道,如果用户把浏览器上面的Cookies关掉,那么Session就不可能被传递了,ASP.net针对这个问题,提出Session的传递应该脱离Cookies。我们修改一下config.web,还记得这个文件吗?ASP.net的无安装化程序移植的精髓,都在这样的一个文件中。

      修改如下地方:<sessionstate cookieless="false" /> 改为True就可以了
      其他地方 Session和ASP没有什么区别。

      6.3 Cookies

      这里和ASP就有一些区别大家注意了。

      建立一个Cookies

      Dim cookie As New HttpCookie("user")
      Cookie.Value = "yesky.com"
      Response.AppendCookie(cookie)
      读出一个Cookies
      Dim cookie As New HttpCookie("user")
      StrCookie = Cookie.Value 

      6.4 State

      这个是一个全新的东西,它可以保存中间过程量在浏览器上面。比如,要注册一个新用户,我们往往在第一页上填写用户名,然后第二页填写联系方法,第三页填写相关的个人资料,这样三页就需要传递数据,以前通常的方法是在 <input>里面 hidden一个数据,现在通过State就好办多了。

      关于State,我们不做很多的介绍,如果您感兴趣,可以参看http://www.fmexpense.com/quickstart/doc/stateoverview.aspx#sessionstate 这是它的官方说明,也比较模糊。 

      6.5 Global.aspx

      ASP.net中,为了突出和ASP的区别,特别将Global.asp改成Global.aspx 但功能没有很大的变化。
      例子:

      Sub Application_Start() 
       Response.Write("Application is Starting...<br>")
      End Sub

      Sub Session_Start() 
       Response.Write("Session is Starting...<br>")
       Session.Timeout = 1
      End Sub 

      这个非常简单了。