IIS应用程序池相关问题及连接池已满的解决方法
??????? 關(guān)于應(yīng)用程序池
???????? 在 IIS 6.0 中,引入了應(yīng)用程序池,應(yīng)用程序池是將一個(gè)或多個(gè)應(yīng)用程序鏈接到一個(gè)或多個(gè)工作進(jìn)程集合的配置。因?yàn)閼?yīng)用程序池中的應(yīng)用程序與其他應(yīng)用程序被工作進(jìn)程邊界分隔,所以某個(gè)應(yīng)用程序池中的應(yīng)用程序不會(huì)受到其他應(yīng)用程序池中應(yīng)用程序所產(chǎn)生的問(wèn)題的影響。有了應(yīng)用程序池,就可以使用被隔離的進(jìn)程來(lái)運(yùn)行 Web 應(yīng)用程序。每個(gè)應(yīng)用程序池在服務(wù)器上都具有唯一的憑據(jù),因此您可以識(shí)別出哪些應(yīng)用程序在執(zhí)行哪些操作。如果一個(gè)應(yīng)用程序失敗,它不會(huì)影響在同時(shí)運(yùn)行的其他應(yīng)用程序。
?????? 創(chuàng)建應(yīng)用程序池?
在IIS管理器中,打開(kāi)本地計(jì)算機(jī),右鍵單擊“應(yīng)用程序池”,選擇新建“應(yīng)用程序池” (必須在工作進(jìn)程隔離模式下才能建立應(yīng)用程序池) 。“應(yīng)用程序池名稱”框中,輸入新的應(yīng)用程序池名稱。如果在“應(yīng)用程序池 ID”框中出現(xiàn)的 ID (如:AppPool #1)不是您想要的,可進(jìn)行重命名。如果您單擊了“將現(xiàn)有應(yīng)用程序池作為模板”,請(qǐng)?jiān)凇皯?yīng)用程序池名稱”框中右鍵單擊想要用來(lái)作為模板的應(yīng)用程序池。最后單擊[確定]。
指派應(yīng)用程序池?
在 IIS 管理器中,右鍵單擊您要為其指派應(yīng)用程序池的應(yīng)用程序,然后單擊“屬性”。 單擊“主目錄”選項(xiàng)卡,確認(rèn)您正在指派的目錄或虛擬目錄的“應(yīng)用程序名”是否已被填寫。如果“應(yīng)用程序名”框尚未被填寫,請(qǐng)單擊“創(chuàng)建”,然后輸入名稱。 “應(yīng)用程序池”列表框中,選擇您想要為其指派的應(yīng)用程序池的名稱。最后單擊[確定]。
?????? 在ASP.NET應(yīng)用程序開(kāi)發(fā)中,會(huì)碰到這樣的情況:“應(yīng)用程序池已滿,無(wú)法連接數(shù)據(jù)庫(kù)”,這是因?yàn)橛行?shù)據(jù)庫(kù)操作相關(guān)對(duì)象沒(méi)有釋放資源,沒(méi)有被關(guān)閉掉。我們可以對(duì)應(yīng)用程序池進(jìn)行回收,停止再啟動(dòng)后,應(yīng)用程序會(huì)恢復(fù)正常。
???? 大家可以在編碼時(shí)避免此類錯(cuò)誤的發(fā)生,我們要養(yǎng)成好習(xí)慣,用過(guò)Reader一定要先Close然后Dispose,引用了Connection對(duì)象也一樣要先Close然后Dispose。同時(shí)要注意,Dispose并不能關(guān)閉Reader,直接調(diào)用Dispose而不Close的話,數(shù)據(jù)庫(kù)并不知道連接對(duì)象已經(jīng)銷毀,而數(shù)據(jù)庫(kù)依然是連接狀態(tài),所以Dispose前一定要先Close
?????? 也可以用using運(yùn)算符來(lái)引用相應(yīng)對(duì)象,例如;
using(SqlConnection conn = new SqlConnection()) { conn.Open(); int Voteid = 0; string sql = "select top 1 * from votes_title order by i_code desc"; using(SqlCommand comm = new SqlCommand(sql, conn)) { using(SqlDataReader dr = comm.ExecuteReader()) { if (dr.Read()) { Voteid = Int32.Parse(dr["i_code"].ToString()); Session["Votetitle"] = dr["c_name"].ToString(); //dr.Close(); BindGridshow(Voteid); VoteBtn.Visible = true; } //dr.Close(); } } }?
轉(zhuǎn)載于:https://www.cnblogs.com/hnsongbiao/p/7223755.html
總結(jié)
以上是生活随笔為你收集整理的IIS应用程序池相关问题及连接池已满的解决方法的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。
- 上一篇: 几何约束栏设置不包括_2011CAD考试
- 下一篇: Log4j编写