2014-10-23 4 views
0

HttpClient를 통해 웹 서비스에 액세스하는 Xamarin.Forms PCL 응용 프로그램이 있습니다. 앱이 Android에서 작동하지만 iOS에서는 웹 서비스에 전혀 연결하지 않습니다. iOS 및 REST 용 프록시를 만들어야합니까?Xamarin.Forms RESTful 웹 서비스에 대한 HttpClient

나는이 정보를 http://developer.xamarin.com/guides/cross-platform/application_fundamentals/web_services/이라고 읽었지만 솔직히 말해서 혼란 스러웠습니다. 프록시를 만들려고했으나 설정되지 않았지만 제대로 작동하지 않았습니다. 나는 그것이 필요하다면 인내 할 것입니다.

또한 HttpWebRequest 메서드를 시도했지만 그 중 하나와도 성공적이지 못했습니다.

답변

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> 
: 여기

은 일례이며
관련 문제