我正在为Android应用程序编写WCF服务。 流程非常简单:
我认为它必须是我从未在C#中使用过的异步任务和线程。寻找一个简单的例子,我在复杂的教程和丰富的机会中丢失了C#中的任务和线程可以完成的任务。 在这种情况下,最佳做法是什么?非常简单的例子将非常感激。
UPD。该服务使用Framework 4.0
答案 0 :(得分:7)
您可以查看.net 4.5的本教程:
http://www.codeproject.com/Articles/613678/Task-based-Asynchronous-Operation-in-WCF
http://jaliyaudagedara.blogspot.com/2013/03/asynchronous-operations-in-wcf.html
和qa相同:
Pattern for calling WCF service using async/await
很好的例子:
https://github.com/BradRem/CslaAsyncWcfService
https://github.com/tomfaber/asyncdemo
https://github.com/kekekeks/AsyncRpc
https://github.com/devcurry/async-await-in-wcf
<强>更新强>
for .net 4.0:
msdn.microsoft.com/en-us/library/ms731177(v=vs.100).aspx
它的旧模式但对.net 4.0有好处
msdn.microsoft.com/en-us/library/ms228963(v=vs.100).aspx
codeproject.com/Articles/14898/Asynchronous-design-patterns
答案 1 :(得分:2)
这与async
没有任何关系。
正确的解决方案需要可靠的队列(例如,Azure队列)和独立的后端(例如,Azure工作者角色)。当您的应用程序最初将数据发送到WCF应用程序时,它应将其放入队列并返回结果。然后,独立后台工作程序从队列中读取并执行实际处理。
答案 2 :(得分:0)
我刚刚在这里发现了一些简化的东西。
即
wcfObject objectFromService = await serviceClient.GetObjectByIDAsync(idParameter).ConfigureAwait(false);