“发送请求时发生错误”,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 响应状态