首页 新闻 搜索 专区 学院

如何对SignalR.Client进行task封装?

0
悬赏园豆:100 [待解决问题]

因为是longrun,所以需要task做等待,完成再返回结果.

希望大家给我点修正意见.用Task.Delay做死循环的等待是否合适?

如果不合适应该怎么样破?

rocklau的主页 rocklau | 初学一级 | 园豆:65
提问于:2015-03-12 12:38
< >
分享
所有回答(2)
0

你可以用 WhenAll完成所有的Task任务后返回结果:

var catTask = FeedCat();

var houseTask = SellHouse();

var carTask = BuyCar();

await Task.WhenAll(catTask, houseTask, carTask);

var cat = await catTask;

var house = await houseTask;

var car = await carTask;

 

悟行 | 园豆:12328 (专家六级) | 2015-03-12 13:06
1

TaskCompletionSource<SummaryReport> tcs1 = new TaskCompletionSource<SummaryReport>(); 

//你中间的逻辑代码

..onhubcallback中调用tcs1.SetResult(结果);

retrun tcs1 .Result; 

 

Witte | 园豆:202 (菜鸟二级) | 2015-03-12 20:57

非常感谢.

支持(0) 反对(0) rocklau | 园豆:65 (初学一级) | 2015-03-12 22:33
清除回答草稿
   您需要登录以后才能回答,未注册用户请先注册