完整的误差如下:
服务器错误在'/'应用程序。超时过期。超时时间 在操作完成之前已经过,或者服务器没有 响应。声明已终止。描述:一个 在执行当前web时发生未处理的异常 请求。的详细信息,请查看堆栈跟踪
. .Exception Details: System.Data.SqlClient.SqlException: Timeout 过期了。操作完成之前的超时时间 操作或服务器没有响应。声明是 终止。< / p >
源错误:
命令执行过程中产生了一个未处理的异常 当前的web请求。关于起源和位置的信息 可以使用下面的异常堆栈跟踪来识别异常
堆栈跟踪:
[SqlException (0x80131904): Timeout expired.]超时时间 在操作完成之前已经过,或者服务器没有 响应。声明已终止。] < br / > System.Data.SqlClient.SqlConnection。OnError (SqlException异常, Boolean breakConnection) +404
System.Data.SqlClient.TdsParser.ThrowExceptionAndWarning() +412
.使用实例 System.Data.SqlClient.TdsParser。运行(RunBehavior RunBehavior, SqlCommand cmdHandler, SqlDataReader BulkCopySimpleResultSet bulkCopyHandler, TdsParserStateObject statobj) +1363
System.Data.SqlClient.SqlCommand。FinishExecuteReader (SqlDataReader ds, RunBehavior RunBehavior, String resetOptionsString) +6387741
System.Data.SqlClient.SqlCommand.RunExecuteReaderTds (CommandBehavior cmdBehavior, RunBehavior, RunBehavior, Boolean, returnStream, Boolean Async) +6389442
System.Data.SqlClient.SqlCommand.RunExecuteReader (CommandBehavior cmdBehavior, RunBehavior RunBehavior, Boolean returnStream, String method, DbAsyncResult result) +538
System.Data.SqlClient.SqlCommand.InternalExecuteNonQuery (DbAsyncResult result, String methodName, Boolean sendToPipe) +689
System.Data.SqlClient.SqlCommand.ExecuteNonQuery() +327
. exe NovinMedia.Data.DbObject。storedProcName RunProcedure(字符串, idatparameter [] parameters, Int32&rowsAffected) +209
DataLayer.OnlineUsers。Session_End Update_SessionEnd_And_Online(对象, Boolean Online) +440
NiceFileExplorer.Global。Application_Start(对象发送器,EventArgs e) + 163 < / p >[HttpException (0x80004005): Timeout expired.]超时时间 在操作完成之前已经过,或者服务器没有 响应。声明已终止。] < br / > System.Web.HttpApplicationFactory.EnsureAppStartCalledForIntegratedMode (HttpContext context, HttpApplication app) +4052053
System.Web.HttpApplication.RegisterEventSubscriptionsWithIIS (IntPtr appContext, HttpContext context, MethodInfo[] handlers) +191
.使用实例 System.Web.HttpApplication。InitSpecial (HttpApplicationState状态, MethodInfo[] handlers, IntPtr appContext, HttpContext context) +352
.使用实例 System.Web.HttpApplicationFactory.GetSpecialApplicationInstance (IntPtr appContext, HttpContext context) +407
System.Web.Hosting.PipelineRuntime.InitializeApplication (IntPtr appContext) + 375 < / p >[HttpException (0x80004005): Timeout expired.]超时时间 在操作完成之前已经过,或者服务器没有 响应。声明已终止。] < br / > System.Web.HttpRuntime。FirstRequestInit(HttpContext context) +11686928 System.Web.HttpRuntime。EnsureFirstRequestInit (HttpContext上下文) + 141 System.Web.HttpRuntime.ProcessRequestNotificationPrivate (IIS7WorkerRequest wr, HttpContext context) +4863749
Global.asax
中的Application_Start
如下所示:
protected void Application_Start(object sender, EventArgs e)
{
Application["OnlineUsers"] = 0;
OnlineUsers.Update_SessionEnd_And_Online(
DateTime.Now,
false);
AddTask("DoStuff", 10);
}
被调用的存储过程是:
ALTER Procedure [dbo].[sp_OnlineUsers_Update_SessionEnd_And_Online]
@Session_End datetime,
@Online bit
As
Begin
Update OnlineUsers
SET
[Session_End] = @Session_End,
[Online] = @Online
End
我有两种获取在线用户的方法:
Application["OnlineUsers"] = 0;
因此,对于方法#2,我将所有OnlineUsers重置为Application_Start
。该表中有超过482,751条记录。