我正在尝试在 windows phone 8 中制作一个应用程序,并通过将其编码为简单的类来轻松扩展或更改。我想使用执行 HTTP POST 以将用户登录到服务的 webclient 进行简单的 web 调用。这是我到目前为止的流程:
- 用户输入用户名和 api 详细信息,或者从以前保存的详细信息中调用它们。
- WebClient 对 Web 服务进行 POST 并接收包含用户信息等的 XML 响应。
- 设置后执行回调
WebClient.UploadStringCompleted += new UploadStringCompletedEventHandler(name)
- 用户信息被处理并用它完成。
由于各种原因,主要是希望将代码写入类并最终将代码作为免费 SDK 发布给其他开发人员,我希望流程看起来像这样:
- 用户输入详细信息或从保存的详细信息中调用。
- 类中的函数调用类似于
if(class.Authenticate(user,apikey)){logged in stuff};
返回boolean
值甚至更好的整数值,因此我可以轻松处理来自 Web 服务的错误。
我尝试过的任何事情都无法完成这项工作,我无法弄清楚如何使其与 async 和 await 一起工作,因为 webclients 似乎只是在他们自己的线程上执行并且不会为我保留一个直到回调是完全的。
我在某处找到了一个自定义 webclient 类,但它只执行 GET 请求,这不足以满足我的需求。