Dav*_*vid 7 compact-framework windows-mobile windows-ce .net-3.5 async-await
我必须为WinCE 5.0开发一个应用程序,该应用程序与常规PC应用程序通信/同步数据,该应用程序提供了我可以与移动(工业)设备通信的Web服务.
由于很明显导致移动设备端难以维护的代码(检查连接→完成时:检查网络服务可用性→完成时:检查移动设备是否有资格进行同步→完成开始交换数据时)我很想使用awaits 的同步编程方式.
我找到了Daniel Grunwald的一些代码片段,它是编译器为async/await功能所需的东西的最小实现.与.Net 3.5的任务并行库(我必须稍微改变,因为一些被称为不存在需要签名的方法)一起实现了Task类型,它看起来很有希望.
到目前为止,解决方案还没有构建,因为我缺乏实现TaskCompletionSource.我用ILSpy反编译了最近的mscorlib,但代码不可用 - 使用的类型太多,CF中没有.
在这一点上,我想知道这个项目是否一定会失败,因为我永远不会说服VS 2008(我必须在ordner中使用目标智能设备)来使用C#5编译器(可能有一个解决方法?),或者CF缺少TaskCompletionSource的关键类型(我可能会因为我想让事件等待而需要),或者TPL3.5 + Grunwald的片段+ TCS实现将构建但从未真正起作用.
有人可以更有经验请评价我的意图吗?很想听听你的意见,想法和其他方法.谢谢.
更新 Aaron Stainback的帖子表明应该可以用VS2012构建CF 3.5.这应该至少解决编译器问题.
我认为向本身不支持async- 的平台添加对 - 的支持应该是可行的,因为这正是 Microsoft.Bcl.Async 对 .Net 4.0 所做的事情。await
但是使用async-await需要支持它的编译器,没有办法解决这个问题。这意味着 VS 2012 或可能是带有异步 CTP 的 VS 2010(但我不建议这样做,这不是生产质量)。据我所知,VS 2008 无法实现此功能。
另一种可能性是使用 Mono,但我不知道它是否支持 WinCE。
| 归档时间: |
|
| 查看次数: |
2825 次 |
| 最近记录: |