关于csdn博客的一个小问题

本文记录了一次访问 优快云 Blog 时遇到的 SQL 连接池超时错误,并提出了几个改进建议:包括增加异常处理、改进错误页面展示、考虑自行实现连接池以避免连接数限制等问题。
<iframe align="top" marginwidth="0" marginheight="0" src="http://www.zealware.com/csdnblog01.html" frameborder="0" width="728" scrolling="no" height="90"></iframe>

csdn blog功能最近更新的比较多,自然相应的也暴露出一些问题。在一次访问的时候,我得到了下面的抱错信息。感觉有几个地方应该做一些小小的处理,贴在这里,瑞江不要骂我啊

1 应该捕获connection timeout异常
2 所有系统异常应该跳转到特定的页面,以便隐藏系统信息
上面直接暴露了源程序的位置,操作系统, .net版本信息
3 不知道是否由于sql server是正版,连接数量有限制,我觉得应该自己实现连接池,最好不要有上限,但是有一个自动回收机制,当多余的连接空闲的时候,自动将超过上限的连接关闭。
4 很多时候连接池是不会饱和的,出现这种现象可能是由于某些访问产生了死锁,需要对sqlserver进行进一步的排查

Server Error in '/' Application.
--------------------------------------------------------------------------------

Timeout expired. The timeout period elapsed prior to obtaining a connection from the pool. This may have occurred because all pooled connections were in

use and max pool size was reached.
Description: An unhandled exception occurred during the execution of the current web request. Please review the stack trace for more information about the

error and where it originated in the code.

Exception Details: System.InvalidOperationException: Timeout expired. The timeout period elapsed prior to obtaining a connection from the pool. This may

have occurred because all pooled connections were in use and max pool size was reached.

Source Error:

An unhandled exception was generated during the execution of the current web request. Information regarding the origin and location of the exception can be

identified using the exception stack trace below.

Stack Trace:


[InvalidOperationException: Timeout expired. The timeout period elapsed prior to obtaining a connection from the pool. This may have occurred because all

pooled connections were in use and max pool size was reached.]
System.Data.ProviderBase.DbConnectionFactory.GetConnection(DbConnection owningConnection) +1184505
System.Data.ProviderBase.DbConnectionClosed.OpenConnection(DbConnection outerConnection, DbConnectionFactory connectionFactory) +105
System.Data.SqlClient.SqlConnection.Open() +111
Dottext.Framework.Data.SqlHelper.ExecuteReader(String connectionString, CommandType commandType, String commandText, SqlParameter[] commandParameters) in

D:\优快云 Web Site\Csdn Blog\Src\Library\Data Providers\Dottext.SqlDataProvider\SQLHelper.cs:871
Dottext.Framework.Data.SqlDataProvider.GetPreferences(Int32 blogId) in D:\优快云 Web Site\Csdn Blog\Src\Library\Data

Providers\Dottext.SqlDataProvider\SqlDataProvider.cs:3939
Dottext.Framework.Components.Preferences.Get(Int32 blogId) +91
Dottext.Admin.Pages.AdminPage.get_Preferences() in D:\优快云 Web Site\Csdn Blog\Src\Library\Dottext.Admin\WebUI\AdminPage.cs:167
Dottext.Admin.Pages.Feedback.Page_Load(Object sender, EventArgs e) in D:\优快云 Web Site\Csdn Blog\Src\Web\writeblog_app.youkuaiyun.com\Feedback.aspx.cs:31
System.Web.UI.Control.OnLoad(EventArgs e) +99
Dottext.Admin.Pages.AdminPage.OnLoad(EventArgs e) in D:\优快云 Web Site\Csdn Blog\Src\Library\Dottext.Admin\WebUI\AdminPage.cs:74
System.Web.UI.Control.LoadRecursive() +47
System.Web.UI.Page.ProcessRequestMain(Boolean includeStagesBeforeAsyncPoint, Boolean includeStagesAfterAsyncPoint) +1061


--------------------------------------------------------------------------------
Version Information: Microsoft .NET Framework Version:2.0.50727.42; ASP.NET Version:2.0.50727.210



Trackback: http://tb.blog.youkuaiyun.com/TrackBack.aspx?PostId=1656030


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值