一、C#服务端webSocket的异步请求超时处理
使用到 C# Task,学习了这几篇文章:
C# Task,new Task().Start(),Task.Run();TTask.Factory.StartNew - Fred1987 - 博客园
C# Task.Run 和 Task.Factory.StartNew 区别_一只小程序员的博客-CSDN博客_c# task.factory.startnew
在请求发送成功后,调用下面的方法开始计时,1分钟后如果没有收到回复,则返回请求超时的信息。
//1分钟没有收到返回结果则返回请求超时,在请求发送成功时调用
private void Sleep(MessageInfo messageinfo)
{
var task = new Task(() =>
{
Console.WriteLine("Task 1 Begin");
System.Threading.Thread.Sleep(60000);
try
{
//doSomething
if(没有收到回复){
Console.WriteLine("请求超时!");
messageinfo.code = 2;
messageinfo.msg = "Request timed out";
}
}
catch
{
Console.WriteLine("Task.Run异常!");
}
});
task.Start();
}