全文预览已结束
下载本文档
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
Net 连接池的配置Timeout expired. The timeout period elapsed prior to completion of the operation or the server is not responding.” ADO.Net 在数据库操作过程中默认打开了连接池,不需要再进行手工配置。这个特性可以使数据库操作时效率提高,但也要有相应的代码配合,才能真正提高程序效率。1、连接字符串 ADO.Net 中的连接池大小可以通过数据库连接字符串来控制,例如: string cs = server=.;uid=sa;pwd=tcaccp;database=pubs;pooling=true;min pool size=5;max pool size=10 其中 pooling 表示是否打开连接池,默认为打开,关掉时需要 pooling = false; min pool size 表示连接池最少保存几个连接对象; max pool size 表示连接池最多保存几个连接对象。(最大值不能为 0,也不能小于最小值) 配置好以后,通过 SqlConnection con = new SqlConnection(cs); 即可得到一个属于连接池的连接对象。 但一定要注意,连接字符串的任何改动,系统都会认为是另一个完全不同的数据库连接,将会创建新的连接池,这必然会造成更大的系统开销。所以,为了保证某些连接对象属于一个连接池,连接字符串不能有任何变化,包括大小写,包括空格,都不能有任何变化。2、程序中的改动 普通的数据库操作: SqlConnection con = new SqlConnection(cs); try con.Open(); /进行各种数据库操作 catch(Exception ex) Console.WriteLine(ex.Message); finally con.Close(); con.Dispose(); 这个过程很繁琐,每次都要在操作完毕后保证连接对象的关闭和资源释放。在打开连接池特性以后,finally 中的内容,其实是将连接对象的状态置为关闭,然后放回到连接池中。既然系统知道要放回连接池,那有没有什么更好的方法呢? using(SqlConnection con = new SqlConnection(cs) try con.Open(); / Do Something. catch(Exception ex) Console.WriteLine(ex.Message); .Net 中的 using 语句,不光能导入命名空间,还能在程序体内,局部使用某个对象。像上边代码,con 的作用域只有 using 对应的大括弧这么大。更神奇的是,using 可以在对象作用域结束时,自动调用 con.Dispose()将对象释放,所以以上代码中,没有 con.Close() 和 con.Dispose(),同样可以释放资源,放回连接池,省了 finally 和手工关闭的麻烦。但同时需要注意,using 既然是在结束作用域时是自动调用对象的 Dispose()方法,那就是说不是什么类型的对象都可以用 using 的方式自动释放,必须要实现 IDispose 接口。当使用.NET开发数据库应用时,有时会遇到下面的超时异常,Timeout expired. The timeout period elapsed prior to completion of the operation or the server is not responding.现把解决方法总结一下:影响服务器产生超时的设置大致有:1. Server.scrptTimeout,2. Connection对象的CommandTimeOut属性,3. Command对象的CommandTimeOut属性,4. IE浏览器的设置.Server.scrptTimeout,默认值是90秒.要增大它,在你的asp文件中加一句,如下:Server.scrptTimeout=999,将页面超时设为999秒.最初我只设置Server.scrptTimeout,但仍会出现timeout错误,无论它的值设成都多大.后在社区里看到一帖子,提到commandTimeout属性,于是查看Option Pack文档,果然还有其他的timeout.Connection对象和Command对象都有个CommandTimeOut属性,连接字符串中设置了 Connect Timeout只对SqlConnection起作用。SqlCommand.CommandTimeout获取或设置在终止执行命令的尝试并生成错误之前的等待时间。等待命令执行的时间(以秒为单位)。默认为 30 秒。SqlConnection.ConnectionTimeout获取在尝试建立连接时终止尝试并生成错误之前所等待的时间。等待连接打开的时间(以秒为单位)。默认值为 15 秒。一些更详细的对这个问题的描述看:/PrintSearchContent.asp?LINKID=357如果你有一个耗时的查询或数据处理,很容易就超时了.要增大它,也很容易,创建对象后,设置它的属性,如下:con.CommandTimeOut = 999,设
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 物联网实验能耗优化策略-洞察与解读
- 语音助手行为分析模型-洞察与解读
- 码头工程环境影响报告书
- CJJ69-95城市人行天桥与人行地道技术规范
- 八年级下册数学配套练习册答案
- 2025年农产品直播供应链协议
- 2025年农产品溯源合同协议
- 2025年农产品冷链运输合同协议(生产商物流)
- 2025年农产品供应链金融合作协议
- 法律硕士论文精讲
- 2025年教师考试时事政治考点热点题库含完整答案
- 2024年陕西咸阳杨陵区招聘社区专职工作人员考试真题
- 江西洪城水业环保有限公司面向社会公开招聘工勤岗工作人员【28人】考试笔试备考试题及答案解析
- 2025年郑州登封市公共交通运营有限公司社会招聘工作人员35人考试笔试备考试题及答案解析
- 2025-2026学年鲁教版(五四学制)(2024)初中英语七年级上册(全册)各单元知识点梳理归纳
- 学堂在线 战场侦察监视技术与装备 章节测试答案
- 铁路行车事故应急预案范本
- DB11-T305-2014养老机构老年人健康评估规范
- 出血和凝血机制介绍课件课件
- 人教版数学五年级上册第五单元用字母表示数例3ppt课件
- 精彩的语文导入语和讲授语
评论
0/150
提交评论