首页 新闻 会员 周边 捐助

串口 异步 多线程 API

0
悬赏园豆:5 [已解决问题] 解决于 2023-03-31 13:56

它这个串口接收到数据 调用Invoke,里面调用保存,保存调用api会出现卡死的假象,实际API可能已经处理了。

API如果加上超时时间可能就不会等待那么久。

这种有办法解决吗,winform,C#


One or more errors occurred. at System.Threading.Tasks.Task.ThrowIfExceptional(Boolean includeTaskCanceledExceptions) at System.Threading.Tasks.Task.Wait(Int32 millisecondsTimeout, CancellationToken cancellationToken) at System.Threading.Tasks.Task`1.get_Result() at WMSFORRFID.FormMain.CreateProcPar1(String json) in D:\QINQUANSOFT\RFID\RFID\WMSFORRFID\FormMain.cs:line 840 at WMSFORRFID.FormMain.SaveData() in D:\QINQUANSOFT\RFID\RFID\WMSFORRFID\FormMain.cs:line 703

LiveCoding的主页 LiveCoding | 小虾三级 | 园豆:502
提问于:2023-03-31 11:43
< >
分享
最佳答案
0

异步里面使用 async/ await

收获园豆:5
cvxcrfa | 初学一级 |园豆:34 | 2023-03-31 13:14

帮我看看怎么改的
async

LiveCoding | 园豆:502 (小虾三级) | 2023-03-31 13:15

@LiveCoding: 你不会的话, 在 httpclient.GetStringAsync().ConfigureAwait(IsConfigureAwait)
.GetAwaiter()
.GetResult();

cvxcrfa | 园豆:34 (初学一级) | 2023-03-31 13:17

.ConfigureAwait(false)

cvxcrfa | 园豆:34 (初学一级) | 2023-03-31 13:19

.NET4可以?

LiveCoding | 园豆:502 (小虾三级) | 2023-03-31 13:29

@cvxcrfa: 改成.NET4.5.2了,里面 await httpclient.GetStringAsync(),返回值Task<result>

LiveCoding | 园豆:502 (小虾三级) | 2023-03-31 15:27
清除回答草稿
   您需要登录以后才能回答,未注册用户请先注册