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

Xamarin.Forms Can't Get WCf Result Method by Url

我使用以下代码创建了一个 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,它工作正常,如下所示:

当我尝试从 xamarin.forms 应用程序获取价值时,出现异常

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. 您是否为您的应用程序添加了互联网权限?

  2. 您确定您的设备与您的 API 在同一网络中吗?

  3. 尝试使用 IP 地址而不是本地主机

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

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