Xamarin.Forms无法通过Url获取WCf结果方法

时间:2017-01-23 12:52:22

标签: c# xamarin.forms portable-class-library

我使用以下代码创建了一个wcf:

[ServiceContract]
   public interface IRestServiceImpl
    {           
    [OperationContract]
    [WebGet( ResponseFormat = WebMessageFormat.Json,
        BodyStyle =WebMessageBodyStyle.Wrapped,
        UriTemplate = "json")]
    string JSONData();
}



    public class RestServiceImpl : IRestServiceImpl
        {
            public string JSONData()
            {
                return "You Requested Prodcut";
            }
        }

我将WCF添加到本地IIS,它正常工作如下: enter image description here

当我试图从xamarin.forms app获取价值时,我得到一个异常

  

System.Net.WebExceptionStatus.ConnectFailure

,结果应该是什么?

 private async Task DownloadInfo()
        {
            var Uri = "http://localhost:8020/wcfrest/RestServiceImpl.svc/json";
            var httpClient = new HttpClient();
            var json= await  httpClient.GetStringAsync(Uri);//I get exception here System.Net.WebExceptionStatus.ConnectFailure
        } 

1 个答案:

答案 0 :(得分:1)

这可能是由很多事情造成的:

  1. 您是否为自己的应用添加了互联网权限?

  2. 您确定自己的设备与API位于同一网络吗?

  3. 尝试使用IP地址而不是localhost

  4. 将主机添加到您的HttpClient对象:

    var httpClient = new HttpClient {Host =" localhost" };