“发送请求时发生错误”,GetAsync(),Xamarin Forms

Posted

技术标签:

【中文标题】“发送请求时发生错误”,GetAsync(),Xamarin Forms【英文标题】:"An error occurred while sending the request", GetAsync(), Xamarin Forms 【发布时间】:2017-12-12 15:00:27 【问题描述】:

就像在标题中一样。我有这个错误的问题。我正在尝试制作将连接到“远程”数据库的移动应用程序。我正在使用来自所有互联网的一些提示,我也在寻找这里但找不到解决方案。

我现在遇到的主要问题是 RestClient - 这会引发此错误。 WebService 工作正常,正如浏览器 xml 文件中显示的那样,MVC5 控制器也正确地从数据库中获取数据。

代码取自 NuGetPack,名为“Plugin.RestClient”:

private const string WebServiceUrl = "http://localhost:50397/api/books/";

    public async Task<List<T>> GetAsync()
    
        try
        
            var httpClient = new HttpClient();
            var json = await httpClient.GetStringAsync(WebServiceUrl);

            var taskModels = JsonConvert.DeserializeObject<List<T>>(json);
            return taskModels;
        
        catch (HttpRequestException e)
        
            String blad = e.InnerException.Message;
            blad += "asdasd";
        
        return null;
    

我想与 db 建立正确的连接,以便在服务器的 ListView 数据中查看。 现在......我只是得到空白列表,在写了 try/catch 之后我看到有消息:

“发送请求时出错”

【问题讨论】:

你看InnerException了吗? blad = "错误:ConnectFailure (Connection denied)" 但 IInnerExcaption 值为:"System.Net.WebException" 您可能需要在请求中添加Authorization header 我的WebService的Web.config中有connectionString,还不够吗? WebService 和 DB 之间的连接没问题,但我猜 RestClient 中的 HttpClient 不想连接 WebService 【参考方案1】:

好的,我刚才解决了这个问题... 我正在研究不支持 MVC 的服务。我在 Azure 上创建了 sev 并将 mysql 数据库移到那里。 像这样写connectionString:

<add name="booksContext" connectionString="Database=booklabdb; Data Source=eu-cdbr-azure-west-b.cloudapp.net; User Id=XXXXX; Password=XXXXX;"
  providerName="MySql.Data.MySqlClient" />

它现在正在工作:)

谢谢各位帮忙。希望它会帮助别人;)

【讨论】:

以上是关于“发送请求时发生错误”,GetAsync(),Xamarin Forms的主要内容,如果未能解决你的问题,请参考以下文章

使用 HttpClient.GetAsync() 时如何确定 404 响应状态

尝试发送 rpc 请求时发生错误

发生一个或多个错误。(发送请求时发生错误)Mailchimp 列表集成

HttpClient 抛出“发送请求时发生错误。”

在向服务器发送请求时发生传输级错误。

Xamarin.Forms 中的 HttpClient 抛出“发送请求时发生错误。”