Xamarin 表单发布请求 Http 问题
Posted
技术标签:
【中文标题】Xamarin 表单发布请求 Http 问题【英文标题】:Xamarin Forms Post Request Http Issue 【发布时间】:2017-09-13 15:59:36 【问题描述】:我正在使用我的 Xamarin 表单发出 POST 请求,以将数据发送到我的 WebAPI 项目中的控制器中的操作。带断点的代码不会超出
client.BaseAddress = new Uri("192.168.79.119:10000");
我有命名空间 System.Net.Http 并使用代码中提到的 System。
private void BtnSubmitClicked(object sender, EventArgs eventArgs)
System.Threading.Tasks.Task<HttpResponseMessage> statCode = ResetPassword();
App.Log(string.Format("Status Code", statCode));
public async Task<HttpResponseMessage> ResetPassword()
ForgotPassword model = new ForgotPassword();
model.Email = Email.Text;
var client = new HttpClient();
client.BaseAddress = new Uri("192.168.79.119:10000");
var content = new StringContent(
JsonConvert.SerializeObject(new Email = Email.Text ));
HttpResponseMessage response = await client.PostAsync("/api/api/Account/PasswordReset", content); //the Address is correct
return response;
需要一种方法向该操作发出 Post 请求并将该字符串或 Model.Email
作为参数发送。
【问题讨论】:
你确定它没有抛出异常吗?尝试将方案(“http://”)添加到 URI 字符串 这似乎有帮助!但它仍然不会发布。 但是问题是什么?你有异常,一些消息等吗?? 【参考方案1】:您需要使用正确的 Uri 以及 await
从被调用方法返回的任务。
private async void BtnSubmitClicked(object sender, EventArgs eventArgs)
HttpResponseMessage response = await ResetPasswordAsync();
App.Log(string.Format("Status Code: 0", response.StatusCode));
public Task<HttpResponseMessage> ResetPasswordAsync()
var model = new ForgotPassword()
Email = Email.Text
;
var client = new HttpClient();
client.BaseAddress = new Uri("http://192.168.79.119:10000");
var json = JsonConvert.SerializeObject(model);
var content = new StringContent(json, System.Text.Encoding.UTF8, "application/json");
var path = "api/api/Account/PasswordReset";
return client.PostAsync(path, content); //the Address is correct
【讨论】:
以上是关于Xamarin 表单发布请求 Http 问题的主要内容,如果未能解决你的问题,请参考以下文章