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

首頁 > 編程 > .NET > 正文

通過系統(tǒng)配置來提高ASP.NET應(yīng)用程序的穩(wěn)定性

2024-07-10 13:11:37
字體:
供稿:網(wǎng)友

    大家都知道,要實現(xiàn)一個24*7全天候運行的應(yīng)用程序并不是一件容易的事。我的一個項目就曾經(jīng)在暴力負荷下堅持了20多個小時后還是壯烈掛掉了。幸運的是,asp.net和iis為我們提供了一些簡便的設(shè)施,使我們能夠輕松構(gòu)建超級穩(wěn)定的.net應(yīng)用程序。不過稍嫌不爽的是,windows 2000(iis6.0 以下版本) 和 windows 2003(iis6.0)系統(tǒng)下的配置方法不盡相同。

    先說說windows 2000系統(tǒng),熟悉asp.net的兄臺應(yīng)當都知道 machine.config 這個文件吧,它保存在 %windowpath%/microsoft.net/framework/%.netversion%/config/ 目錄下。隨便用什么文本編輯器(當然最土的就屬 “記事本” 了)打開該文件,找到 <processmodel ...> 這一節(jié)。asp.net就是根據(jù)這一節(jié)的設(shè)置,來控制asp.net服務(wù)進程(aspnet_wp.exe 或 w3wp.ext )的。我們的寫的asp.net 應(yīng)用程序代碼就運行在這個進程空間內(nèi)。如果你使用的是framework 1.1 你會在這一節(jié)中看到n多個屬性,我們關(guān)心的是下面三個,等號后面是它們的缺省值:
   
    timeout="infinite"

    idletimeout="infinite"

    memorylimit="60"

    在 framework 2.0 下你看不到它們,但你可以手工把它們添加進去。


    我來翻譯一下這三個屬性的意思,在持續(xù)運行了 timeout 指定的時間后,重啟 asp.net服務(wù)進程,timeout 的缺省值為無窮大,你可以按“hh:mm:ss”的格式重新設(shè)置,如,timeout=24:00:00表示24小時后重啟; 如果在 idletimeout 指定的時間內(nèi)沒人的訪問,則重啟 asp.net服務(wù)進程,idletimeout 的缺省值同樣為無窮大,設(shè)置方式如上;如果asp.net服務(wù)進程 使用的內(nèi)存占系統(tǒng)總內(nèi)存的百分比超過了 memorylimit 指定的數(shù)量,則重啟 asp.net服務(wù)進程。


    明白了吧,通過這三個屬性的配合,就可以神不知,鬼不覺的重啟服務(wù)進程,從而使咱的應(yīng)用程序生生不息的運行下去。我這樣說,細心的讀者可能已經(jīng)發(fā)現(xiàn)問題了,當服務(wù)進程重啟時,客戶端的會話(session)必然會丟失,用戶的操作也就被中斷了。怎么能做到“神不知,鬼不覺”呢?
   
    這個問題確實存在,不過可以通過如下措施將其影響減至最小,甚至完全消除:

    首先,我們可以把 idletimeout 設(shè)為一個合理的值,通常我會將其置為會話(session)超時設(shè)置的1.5-3倍。將timeout 置為程序能堅持的上限值,我通常將其置為24小時。這樣將迫使服務(wù)進程在空閑時重啟,由于這時不存在任何會話(session),所以也就不可能中斷用戶的操作。這種設(shè)置在中小企業(yè)辦公環(huán)境中非常有效,因為下班后基本沒有人訪問。

    當然,上面的方法局限性很大,只能在特定場合起作用。如果在持續(xù)有人訪問,或者內(nèi)存超限的情況下重啟,用戶的操作仍然會受到干擾。一個終極的解決辦法就是,將會話(session)狀態(tài)保存在獨立的進程中。在asp.net上,這也可以通過簡單的配置實現(xiàn)。

出處:blog 錄一室

發(fā)表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發(fā)表
主站蜘蛛池模板: 商城县| 阳江市| 专栏| 大安市| 连云港市| 沙湾县| 襄城县| 房山区| 阿勒泰市| 特克斯县| 兖州市| 习水县| 晴隆县| 汕尾市| 炉霍县| 兴安盟| 灌南县| 滦平县| 措美县| 崇仁县| 容城县| 玉环县| 德令哈市| 哈巴河县| 东台市| 普兰县| 织金县| 宣威市| 纳雍县| 当阳市| 渑池县| 南汇区| 阿克苏市| 黄陵县| 襄城县| 日喀则市| 黄大仙区| 丹阳市| 惠安县| 成都市| 安龙县|