xamarin.forms 可移植项目中wcf调用提示异常,
如果使用的是同步的方法,则可以正常调用,并返回调用结果,但是在测试多次后会有一次卡在,并且屏幕死机,很长时间后显示xx出现错误,是否等待,或退出。
如果使用的是await 后面加上系统生成的异步的方法,则会直接显示异常。
string backstring = null;
int u = order[hang].ID;
if (quren == "确认")
{
Service1Client client = new Service1Client();
//backstring = client.customerback(u, action); //如果这行注释掉,使用下面那行会直接报异常,而如果使用这行,不用下面那行,则可以得到服务器端返回的结果,但是在多次点击使用后会有一次卡住并且死机。这个是是使用了 client.CloseAsync(); 的情况下还出现的问题。
backstring = await client.customerbackAsync(u, action);
client.CloseAsync();
}
同步的方法调用可以得到结果,也在正常使用,但是总会在手机信号不好或者连续使用刷新的情况下会有一次死机,体验很差。想解决了死机的问题。
目前,Xamarin应用程序与WCF Web服务引用连接服务提供商为其生成的基于任务的异步WCF代理方法不兼容。
生成旧的、兼容样式的WCF代理方法的一种方法是运行SvcUtil。在开发人员命令提示符下使用/async和/tcv:Version35开关执行。这将生成同步代理方法、开始/结束式异步编程模型(APM)回调代理方法和基于事件的代理方法,所有这些方法都与Xamarin应用程序兼容。
(注意:如果省略/async开关,SvcUtil.exe将生成更新的、不兼容的基于任务的代理方法。)
WCF 已经死了。切换到 ASP.NET Core WebApi,你会更开心。
Xamarin 中的 WCF 存在一些限制。某些 WCF 绑定不受支持,某些代理生成方法可能不起作用。
如解决您的问题,望采纳
看意思可能是异步返回的数据格式不对