我有一个新的 ASP.Net 4.0 Webform 应用程序。它是使用 Entity Framework 4.0 编写的,它使用 EntityDataSource 进行大约 90% 的数据访问(主要绑定到 ListView 和 DropDownList 控件)。
用户报告偶尔的 IE “冻结”。似乎正在发生的事情是在回发期间,IE 将完全变为白色,并且页面永远不会呈现。用户可以关闭 IE 并重新启动它,应用程序总是很好。
看来我可能遇到了资源问题。服务器 RAM、SQL RAM、SQL 数据库连接等。发生这种情况时,客户端 PC 或服务器上的事件日志中没有任何内容(除了今天的错误!)(似乎每天发生 1-3 次)随机用户)。
今天,我让一个用户等待它并得到下面的错误(它也在事件日志中)。我不确定这是其他人遇到的错误还是不相关的错误。问题是,我不在现场。我只能在晚上访问服务器,就像我说的那样,没有任何事件日志。我想过在 SQL 上安装 Spotlight(我以前用过,非常好)或其他一些 SQL 监控工具。首先,我虽然会在这里看到专家关于堆栈溢出的建议。
有什么建议吗?(除了不使用 EntityDataSource!哈哈)
哦,是的......这是我上面提到的那个错误:
“/”应用程序中的服务器错误。
超时已过。在操作完成之前超时时间已过或服务器没有响应。
说明:执行当前 Web 请求期间发生未处理的异常。请查看堆栈跟踪以获取有关错误及其源自代码的位置的更多信息。
异常详细信息:System.Data.SqlClient.SqlException:超时已过期。在操作完成之前超时时间已过或服务器没有响应。
源错误:
在执行当前 Web 请求期间生成了未处理的异常。可以使用下面的异常堆栈跟踪来识别有关异常起源和位置的信息。
堆栈跟踪:
[SqlException (0x80131904): 超时。在操作完成之前超时时间已过或服务器没有响应。]
System.Data.SqlClient.SqlConnection.OnError(SqlException 异常,布尔 breakConnection)+404
System.Data.SqlClient.TdsParser.ThrowExceptionAndWarning() +412
System.Data.SqlClient.TdsParser.Run(RunBehavior runBehavior, SqlCommand cmdHandler, SqlDataReader dataStream, BulkCopySimpleResultSet bulkCopyHandler, TdsParserStateObject stateObj) +1363
System.Data.SqlClient.SqlDataReader.ConsumeMetaData() +58
System.Data.SqlClient.SqlDataReader.get_MetaData() +118
System.Data.SqlClient.SqlCommand.FinishExecuteReader(SqlDataReader ds, RunBehavior runBehavior, String resetOptionsString) +6312385
System.Data.SqlClient.SqlCommand.RunExecuteReaderTds(CommandBehavior cmdBehavior,RunBehavior runBehavior,布尔返回流,布尔异步)+6313986
System.Data.SqlClient.SqlCommand.RunExecuteReader(CommandBehavior cmdBehavior, RunBehavior runBehavior, Boolean returnStream, String method, DbAsyncResult result) +538
System.Data.SqlClient.SqlCommand.RunExecuteReader(CommandBehavior cmdBehavior, RunBehavior runBehavior, Boolean returnStream, String 方法) +28
System.Data.SqlClient.SqlCommand.ExecuteReader(CommandBehavior 行为,字符串方法)+256
System.Data.SqlClient.SqlCommand.ExecuteDbDataReader(CommandBehavior 行为)+19
System.Data.EntityClient.EntityCommandDefinition.ExecuteStoreCommands(EntityCommand entityCommand,CommandBehavior 行为)+617
[EntityCommandExecutionException:执行命令定义时发生错误。有关详细信息,请参阅内部异常。]
System.Web.UI.WebControls.EntityDataSourceView.ExecuteSelect(DataSourceSelectArguments 参数)+1599
System.Web.UI.DataSourceView.Select(DataSourceSelectArguments 参数,DataSourceViewSelectCallback 回调)+28
System.Web.UI.WebControls.DataBoundControl.PerformSelect() +274
System.Web.UI.WebControls.ListView.PerformSelect() +124
System.Web.UI.WebControls.BaseDataBoundControl.EnsureDataBound() +105
System.Web.UI.WebControls.ListView.CreateChildControls() +78
System.Web.UI.Control.EnsureChildControls() +182
System.Web.UI.Control.PreRenderRecursiveInternal() +60
System.Web.UI.Control.PreRenderRecursiveInternal() +222
System.Web.UI.Control.PreRenderRecursiveInternal() +222
System.Web.UI.Control.PreRenderRecursiveInternal() +222
System.Web.UI.Control.PreRenderRecursiveInternal() +222
System.Web.UI.Control.PreRenderRecursiveInternal() +222
System.Web.UI.Control.PreRenderRecursiveInternal() +222
System.Web.UI.Control.PreRenderRecursiveInternal() +222
System.Web.UI.Control.PreRenderRecursiveInternal() +222
System.Web.UI.Control.PreRenderRecursiveInternal() +222
System.Web.UI.Page.ProcessRequestMain(布尔 includeStagesBeforeAsyncPoint,布尔 includeStagesAfterAsyncPoint)+4185
版本信息:Microsoft .NET Framework 版本:4.0.30319;ASP.NET 版本:4.0.30319.1