.NET之ASP WebApplication快速入门(2)
2008-02-23 05:39:01来源:互联网 阅读 ()
Application的生存期
一个ASP.NET application创建于服务器第一次被请求时,在那之前不会有ASP.NET代码在执行。接受第一次请求后,一个HttpApplication实例池被创建,并激活了Application_OnStart事件。HttpApplication实例处理这个请求及随后发生的请求,直到最后的实例退出,接着就触发Application_OnEnd事件。
注意,在每一个实例中HttpApplication的Init以及Dispose方法都被调用,因此在Application_OnStart 和 Application_OnEnd事件间将被调用多次。在一个ASP.NET
application中,只有这些事件在所有HttpApplication实例中被共享。
关于多线程
如果我们以application范围类型使用对象,我们就应该注意ASP.NET是并发处理请求的,从而Application对象可以被多个线程所访问。因此,如果下面例子中的代码在同一时间被不同的客户机访问,它就是危险的,可能不会达到预期目的。为对照方便,我们列出了使用VB、C#以及JScript三种语言编写的代码:
C#
<%
Application["counter"] = (Int32)Application["counter"] 1;
%>
VB
<%
Application("counter") = CType(Application("counter") 1, Int32)
%>
JScript
<%
Application("counter") = Int32(Application("counter") 1);
%>
为了实现安全的线程处理,我们可以通过Lock和Unlock方法处理这个Application对象。请看下面使用VB、C#以及JScript三种语言编写的代码:
C#
<%
Application.Lock();
Application["counter"] = (Int32)Application["counter"] 1;
Application.UnLock();
%>
VB
<%
Application.Lock()
Application("counter") = CType(Application("counter") 1, Int32)
Application.UnLock()
%>
JScript
<%
Application.Lock();
Application("counter") = Int32(Application("counter") 1);
Application.UnLock();
%>
标签:
版权申明:本站文章部分自网络,如有侵权,请联系:west999com@outlook.com
特别注意:本站所有转载文章言论不代表本站观点,本站所提供的摄影照片,插画,设计作品,如需使用,请与原作者联系,版权归原作者所有
- .NET之ASP WebApplication快速入门(4) 2019-06-14
- .NET之ASP WebApplication快速入门(3) 2019-06-14
- .NET之ASP WebApplication快速入门(2) 2019-06-14
- .NET之ASP WebApplication快速入门(1) 2019-06-14
- .NET之ASP WebApplication快速入门(5) 2008-02-23
IDC资讯: 主机资讯 注册资讯 托管资讯 vps资讯 网站建设
网站运营: 建站经验 策划盈利 搜索优化 网站推广 免费资源
网络编程: Asp.Net编程 Asp编程 Php编程 Xml编程 Access Mssql Mysql 其它
服务器技术: Web服务器 Ftp服务器 Mail服务器 Dns服务器 安全防护
软件技巧: 其它软件 Word Excel Powerpoint Ghost Vista QQ空间 QQ FlashGet 迅雷
网页制作: FrontPages Dreamweaver Javascript css photoshop fireworks Flash