我正在寻找一个好的想法来实现一个通用的方式来执行代码的单行(或匿名委托)超时。 TemperamentalClass tc = new TemperamentalClass(); tc.DoSomething(); // normally runs in 30 sec. Want to error at 1 min 我正在寻找一个解决方案,可以优雅地在我的代码与气质代码交互(我不能改变)的许多地方实现。 另外,如果可能的话,我想让有问题的“超时”代码停止执行。
我的网站上有很多用户(每天20000-60000),这是一个移动文件的下载网站。 我有远程访问我的服务器(Windows Server 2008 R2)。 我以前收到“服务器不可用”错误,但现在看到连接超时错误。 我不熟悉这个 – 为什么会发生,我该如何解决? 完整的错误如下: “/”应用程序中的服务器错误。 超时过期。 操作完成之前超时的时间或服务器没有响应。 声明已经终止。 说明:执行当前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.SqlCommand.FinishExecuteReader(SqlDataReader ds,RunBehavior runBehavior,String resetOptionsString)+6387741 System.Data.SqlClient.SqlCommand.RunExecuteReaderTds(CommandBehavior cmdBehavior,RunBehavior runBehavior,布尔returnStream,布尔异步)+6389442 System.Data.SqlClient.SqlCommand.RunExecuteReader(CommandBehavior cmdBehavior,RunBehavior runBehavior,布尔returnStream,String方法,DbAsyncResult结果)+538 System.Data.SqlClient.SqlCommand.InternalExecuteNonQuery(DbAsyncResult result,String methodName,Boolean sendToPipe)+689 System.Data.SqlClient.SqlCommand.ExecuteNonQuery()+327 NovinMedia.Data.DbObject.RunProcedure(String storedProcName,IDataParameter []参数,Int32&rowsAffected)+209 DataLayer.OnlineUsers.Update_SessionEnd_And_Online(对象Session_End,布尔在线)+440 NiceFileExplorer.Global.Application_Start(对象发件人,EventArgs e)+163 […]
我有一个控制台应用程序,我想让用户x秒响应提示。 如果在一段时间后没有输入,程序逻辑应该继续。 我们假设超时意味着空的回应。 什么是最直接的方法来解决这个问题?