加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 编程开发 > Java > 正文

.net-3.5 – Async / await for compact framework v3.5 – manu

发布时间:2020-12-15 00:51:48 所属栏目:Java 来源:网络整理
导读:我必须为WinCE 5.0开发一个应用程序,该应用程序与常规PC应用程序通信/同步数据,该应用程序提供我可以与移动(工业)设备通信的Web服务. 因为很明显导致在移动设备端难以维护的代码(检查连接→完成时:检查网络服务可用性→完成时:检查移动设备是否有资格同步
我必须为WinCE 5.0开发一个应用程序,该应用程序与常规PC应用程序通信/同步数据,该应用程序提供我可以与移动(工业)设备通信的Web服务.

因为很明显导致在移动设备端难以维护的代码(检查连接→完成时:检查网络服务可用性→完成时:检查移动设备是否有资格同步→完成开始交换数据时)我会喜欢使用等待的同步编程方式.

我在Daniel Grunwald找到了一些code snippet,这是编译器为async / await功能所需的东西的最小实现.与Task Parallel Library for .Net 3.5(我必须稍微改变,因为一些被称为不存在需要签名的方法)一起实现了Task类型,它看起来很有希望.

到目前为止,解决方案还没有构建,因为我缺乏TaskCompletionSource的实现.我用ILSpy反编译了最近的mscorlib,但代码不可用 – 使用中的类型太多,CF中没有.

在这一点上,我想知道这个项目是否一定会失败,因为我永远不会说服VS 2008(我必须在ordner中使用目标智能设备)来使用C#5编译器(可能有一个解决方法?),或者CF缺乏TaskCompletionSource的关键类型(我可能需要它,因为我想让事件等待),或者TPL3.5 Grunwald的片段TCS实现将构建但从未真正起作用.

有人可以更有经验请评价我的意图吗?很想听听您的意见,想法和替代方法.谢谢.

更新Aaron Stainback’s post表示应该可以使用VS2012构建CF 3.5.这应该至少解决编译器问题.

解决方法

我认为将async-await的支持添加到一个本身不支持它的平台应该是可行的,因为这正是Microsoft.Bcl.Async为.Net 4.0所做的.

但是使用async-await需要支持它的编译器,没有办法解决这个问题.这意味着VS 2012或可能VS 2010与Async CTP(但我不建议,它不是生产质量).据我所知,VS 2008无法实现这一目标.

另一种可能性是使用Mono,但我不知道它是否支持WinCE.

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读