【发布时间】:2013-10-26 03:30:45
【问题描述】:
我正在尝试构建一个 sdk 包装器,它将进行所有需要进行的相关 http 调用,但为使用它的开发人员消除复杂性,因此我正在尝试构建一个返回常规的函数对象,但在该函数中,我想要调用和异步并等待 httpclient 或 webclient,但我不知道该怎么做?
我所能看到的只是有一个不好的 void 函数,或者有一个 Task 或 Task 但那也不好。
我希望用户将函数定义为正常,即
MyClss myobject = company.sdk.RequestData("http://....");
这不可能吗?我相信如果你使用.Result,它会将调用变成同步调用,这是不好的。
有什么建议或解决方案吗?也许我看错了?
【问题讨论】:
-
如果您要将当前的代码库迁移到此.. 做其他人(包括微软)所做的事情。创建单独的
XXXAsync异步执行的方法。您的问题的答案是“否”。你不能让他们将他们的类定义为正常的,并希望它像async/await组合一样。
标签: c# webclient async-await dotnet-httpclient