【发布时间】:2014-06-12 10:00:19
【问题描述】:
我在 MonoAndroid 调用 WCF 服务异步时遇到问题。 我按照本教程创建了便携式类库。 http://nullskull.com/a/10476775/xamarin-cross-platform-application-consuming-wcf--part-1.aspx
这是我调用 WCF 服务的服务方法:
public async static Task<KeyExchangeModel> GetPublicKeyFromServer(KeyExchangeModel model)
{
try
{
ISyncService client;
client = new SyncServiceClient(_binding, _endpointAddress);
var res = Task<KeyExchangeModel>.Factory.FromAsync(client.BeginGetServerPublicKey, client.EndGetServerPublicKey,
model, null);
await res;
return res.Result;
}
catch (Exception e)
{
return null;
}
}
我在这里调用方法并等待它执行。
Task<KeyExchangeModel> task = SyncServiceAgent.GetPublicKeyFromServer(keyModel);
task.Wait();
KeyExchangeModel serverModel = task.Result;
问题是在 Android 上我从来没有得到结果。它卡在一个循环中。设备日志中没有记录或抛出异常。
此代码完美适用于 Windows 单元测试和 Windows Phone 项目。
希望有人能帮助我。
非常感谢。
【问题讨论】:
标签: c# mono xamarin xamarin.android