IIS应用程序池相关问题及连接池已满的解决方法
来源:互联网 发布:js input text change 编辑:程序博客网 时间:2024/05/21 15:02
关于应用程序池
在 IIS 6.0 中,引入了应用程序池,应用程序池是将一个或多个应用程序链接到一个或多个工作进程集合的配置。因为应用程序池中的应用程序与其他应用程序被工作进程边界分隔,所以某个应用程序池中的应用程序不会受到其他应用程序池中应用程序所产生的问题的影响。有了应用程序池,就可以使用被隔离的进程来运行 Web 应用程序。每个应用程序池在服务器上都具有唯一的凭据,因此您可以识别出哪些应用程序在执行哪些操作。如果一个应用程序失败,它不会影响在同时运行的其他应用程序。
创建应用程序池
在IIS管理器中,打开本地计算机,右键单击“应用程序池”,选择新建“应用程序池” (必须在工作进程隔离模式下才能建立应用程序池) 。“应用程序池名称”框中,输入新的应用程序池名称。如果在“应用程序池 ID”框中出现的 ID (如:AppPool #1)不是您想要的,可进行重命名。如果您单击了“将现有应用程序池作为模板”,请在“应用程序池名称”框中右键单击想要用来作为模板的应用程序池。最后单击[确定]。
指派应用程序池
在 IIS 管理器中,右键单击您要为其指派应用程序池的应用程序,然后单击“属性”。 单击“主目录”选项卡,确认您正在指派的目录或虚拟目录的“应用程序名”是否已被填写。如果“应用程序名”框尚未被填写,请单击“创建”,然后输入名称。 “应用程序池”列表框中,选择您想要为其指派的应用程序池的名称。最后单击[确定]。
在ASP.NET应用程序开发中,会碰到这样的情况:“应用程序池已满,无法连接数据库”,这是因为有些数据库操作相关对象没有释放资源,没有被关闭掉。我们可以对应用程序池进行回收,停止再启动后,应用程序会恢复正常。
大家可以在编码时避免此类错误的发生,我们要养成好习惯,用过Reader一定要先Close然后Dispose,引用了Connection对象也一样要先Close然后Dispose。同时要注意,Dispose并不能关闭Reader,直接调用Dispose而不Close的话,数据库并不知道连接对象已经销毁,而数据库依然是连接状态,所以Dispose前一定要先Close
也可以用using运算符来引用相应对象,例如;
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();
}
}
}
- IIS应用程序池相关问题及连接池已满的解决方法
- IIS应用程序池相关问题及连接池已满的解决方法
- Asp.Net 应用程序在IIS发布后无法连接oracle数据库问题的解决方法
- Asp.Net 应用程序在IIS发布后无法连接oracle数据库问题的解决方法
- android连接蓝牙相关问题及解决方法
- IIS问题及解决方法
- 关于asp.net[没有相关的源行]错误的解决方法及IIS安装问题
- 关于asp.net[没有相关的源行]错误的解决方法及IIS安装问题
- IIS应用程序池由服务器引起常见错误号的原因分析及解决方法
- IIS应用程序池频繁崩溃的问题
- TextView 遇到的相关问题及解决方法
- 安装IIS后,出现的问题及解决方法
- 搭建IIS时遇到的问题及解决方法
- IIS 相关概念(站点、虚拟目录、应用程序池、隔离模式、W3WP.EXE、Web Gargen) 及 IIS 6的ASP.net请求处理过程
- iis应用程序池不能启动解决方法
- IIS里找不到应用程序池解决方法
- 安装IIS的相关问题
- IIS配置相关的问题
- 服务器安全之我见
- mysql
- Excel中实现AfterPrint的方法
- 我成为CSDN人了
- 五周年记
- IIS应用程序池相关问题及连接池已满的解决方法
- Qt的内存管理
- 控件缩写
- 在主线程中使用CRITICAL_SECTION 引起的阻塞
- 检测用户浏览器是否支持cookie
- .net 安全编程 阅读笔记
- C#操作IIS
- BMW(宝马)另类解释
- 研究了一下virtual继承,多继承这个东西的确乱