相关疑难解决方法(0)

实现C#通用超时

我正在寻找实现通用方法的好主意,让一行(或匿名委托)代码执行超时.

TemperamentalClass tc = new TemperamentalClass();
tc.DoSomething();  // normally runs in 30 sec.  Want to error at 1 min
Run Code Online (Sandbox Code Playgroud)

我正在寻找一个可以在我的代码与气质代码交互的许多地方(我无法改变)优雅地实现的解决方案.

另外,如果可能的话,我想让违规的"超时"代码停止执行.

c# multithreading asynchronous timeout c#-3.0

157
推荐指数
6
解决办法
7万
查看次数

如何为一行c#代码设置超时

可能重复:
将超时设置为操作

如何在c#中为一行代码设置超时.例如 RunThisLine(SomeMethod(Some Input), TimeSpan.FromSeconds(10)) ,SomeMethod以10秒的时间运行.提前致谢.

c# timeout

40
推荐指数
3
解决办法
9万
查看次数

如何在try-catch中使用超时?

我有像这样的oledbconnection try-catch:

try
{
        OleDbConnection Connection;
        using (Connection = new OleDbConnection("Provider=MSDAORA.1;Data Source=DATABASE:1521/orcl//orcl1;Persist Security Info=True;Password=PASS;User ID=USER"))
        {
            Connection.Open();
            v1 = 1;
            Connection.Close();
        }
}
catch (Exception)
{
        v1 = 0;
}
Run Code Online (Sandbox Code Playgroud)

当我无法连接数据库时,请尝试捕获并返回v1 = 0.它正在工作但是当连接等待这么多时(例如30-40秒),尝试连接和页面等待这么多.

我试过Connect Timeoutoledbconnection,但不工作.

我需要尝试几秒钟,如果有任何问题,需要去抓.

我怎样才能做到这一点?

c# asp.net oledbconnection try-catch

2
推荐指数
2
解决办法
8238
查看次数