Xamarin.Forms HttpClient到RESTful webservice

时间:2014-10-23 13:51:55

标签: ios rest httpclient xamarin.forms

我有一个Xamarin.Forms PCL应用程序,它通过HttpClient访问webservices。该应用程序正在Android上运行,但在iOS上它根本不能连接到Web服务。我是否需要为iOS和REST创建代理?

我在这里阅读了http://developer.xamarin.com/guides/cross-platform/application_fundamentals/web_services/的信息,但坦率地说,这让我很困惑。我试图创建代理,但它没有成功。如果有必要,我会坚持不懈。

我也尝试过HttpWebRequest方法,但也没有成功。

1 个答案:

答案 0 :(得分:1)

您只需要为WCF或SOAP生成代理。休息应该工作得很好。这就是我在PCL中使用HttpClient为REST服务实现GET的方法。

using (var client = new HttpClient())
{
    var result = await client.GetStringAsync(url);
    return JsonConvert.DeserializeObject<Movie>(result);
}

当然其他动词需要更多的工作。

您是否需要在app.config中进行绑定重定向?查看此博客文章,了解如何添加重定向:http://motzcod.es/post/78863496592/portable-class-libraries-httpclient-so-happy

以下是一个例子:

<?xml version="1.0" encoding="utf-8"?>
<configuration>
  <runtime>
    <assemblyBinding xmlns="urn:schemas-microsoft-com:asm.v1">
      <dependentAssembly>
        <assemblyIdentity name="System.Net.Http" publicKeyToken="b03f5f7f11d50a3a" culture="neutral" />
        <bindingRedirect oldVersion="0.0.0.0-4.0.0.0" newVersion="2.0.5.0" />
      </dependentAssembly>
    </assemblyBinding>
  </runtime>
</configuration>