国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 學院 > 開發設計 > 正文

.NET之ASP WebApplication快速入門(2)

2019-11-18 21:02:39
字體:
來源:轉載
供稿:網友
.NET之asp Web application快速入門(2) 
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();
%>



發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 永靖县| 营山县| 广州市| 上饶市| 南召县| 鲁山县| 玛多县| 绥芬河市| 庆城县| 尤溪县| 鄂州市| 洛南县| 尖扎县| 格尔木市| 香格里拉县| 西乌珠穆沁旗| 阿合奇县| 星子县| 杨浦区| 榕江县| 平罗县| 大洼县| 酉阳| 靖州| 青海省| 长宁县| 河南省| 郯城县| 哈尔滨市| 宁国市| 洛浦县| 遂昌县| 米林县| 武陟县| 威远县| 锦州市| 维西| 绥阳县| 札达县| 泰和县| 鸡泽县|