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

首頁 > 編程 > .NET > 正文

ASP.NET Pre-Compilation and Keep-Alive

2024-07-10 12:57:38
字體:
來源:轉載
供稿:網友



asp.net pre-compilation and keep-alive
1、pre-compilation in whidbey

asp.net一大特色就是dynamic compilation,但是有些場合pre-compilation卻是更好的選擇,比如,你不想訪問你的站點的第一個用戶癡癡的等待,或者你根本不想把任何源碼(包括html的內容)給你的用戶。

pre-compilation在asp.net 2.0中支持得很徹底,你可以選擇in-place pre-compilation,只需要你訪問一下:
http://站點名稱/webapp名稱/precompile.axd
系統就會將webapp里面所有的頁面先給你編譯一遍。

或者,更加徹底的方式,precompilation for deployment,.net framework 2.0提供了一個命令行的工具(aspnet_compiler.exe),讓你將webapp中所有的代碼、頁面(包括html)、靜態文件全部編譯進dll,然后給你一個“deployment-ready webapp”,no code、no html,呵呵,但是瀏覽起來和普通的webapp沒有區別。

這篇文章包含了更多的信息。

2、pre-compilation and keep-alive in .net framework 1.1

whidbey畢竟是明年的事,其實在現在,我們也可以想一些辦法。

global.asax里面的那個global類是繼承自httpapplication的,我們可以自己插入一個中間層,來做一些自己的事情。比如我們創建一個preglobal類,繼承自httpapplication,在preglobar.init()方法中,創建一個新的線程,讓這個線程遍歷訪問webapp中所有的.aspx和.ascx(對ascx就loadcontrol(),對aspx就httpwebrequest.create(url).getresponse()),這樣可以實現我們自己的“pre-compilation”,然后再讓global繼承自我們自己的這個preglobal就可以了。

我們可以感覺到,如果一段時間沒有訪問webapp,那么當再次訪問時,速度大大降低,這是因為clr會自動將站點的assembly從內存中unload,當再次訪問時,再載入assembly,而這個動作是相當耗時的(想想在電腦上運行一個winform,它的啟動時間)。我們需要想一個辦法讓我們的webapp始終keep-alive,這樣clr就不會將它unload了。方法還是preglobal.init()方法,我們在這個方法中創建一個timer對象,定時時間小于默認的session過期時間即可,在其elapsed事件中調用一下“httpwebrequest.create(站點url).getresponse()”就可以讓我們的站點始終alive了。

這個方法是從aspaliance上看來的,具體出處已經找不到了。

3、delphi8

d8的文章在csdn上也漸漸多了起來。如果不討厭pascal的語法,那么d8安裝目錄的source目錄下的文件實在是一個不錯的學習.net的資源,里面有d8的rtl、vcl.net、indy.net、web數據感知控件實現的源碼,至少可以看看d8是如何將它的東西和.net的東西結合起來的。

比如,在borland.delphi.system.pas里面,我看到了tobject = system.object,呵呵,和我們想象的一樣。在borland.vcl.classes.pas里面,我看到了tlist有一個private成員flist是system.collections.arraylist類型的,于是顯然tlist是通過聚合arraylist來實現的。而在borland.vcl.forms.pas里面,可以看到tform是從tcustomform繼承下來,然后上面依次是tscrollingwincontrol、twincontrol、tcontrol...和system.windows.forms.form沒什么關系,這也就是d8要分vcl.net app和win app的原因,vcl.net很多控件仍然是borland按自己的方式寫的(雖然都是managed code寫的),他們和winforms不一定完全兼容的。

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 安宁市| 年辖:市辖区| 孝感市| 忻城县| 库车县| 温泉县| 芷江| 普格县| 东乌| 凉城县| 南澳县| 札达县| 南京市| 卫辉市| 栖霞市| 紫金县| 恩平市| 肇州县| 长海县| 视频| 中卫市| 嵩明县| 玉山县| 襄垣县| 当雄县| 禹城市| 秀山| 炉霍县| 姜堰市| 南部县| 玉树县| 云和县| 龙门县| 花莲市| 晋城| 曲靖市| 新和县| 郯城县| 南京市| 米泉市| 海阳市|