【发布时间】:2020-06-15 01:27:56
【问题描述】:
所以我正在使用 Xamarin 制作一个 Android 和 IOS 应用程序,我试图解决我的问题,但我一直在努力解决它。我做了一个注册页面,新用户可以自己注册,但是当他们点击注册时,应用程序会切换到中断模式并发生错误。因此,正如您在代码中看到的那样,我还有一个 php 脚本,它在单击注册按钮时使用查询将新用户添加到 mysql 数据库。
这是我遇到的错误:
" System.Net.Http.HttpRequestException: '网络子系统已关闭'" (--> breakmode)
后面的代码是这样的:
public async void SUButton_Clicked(object sender, EventArgs e)
{
if (string.IsNullOrWhiteSpace(UsernameEntry.Text) || string.IsNullOrWhiteSpace(AgeEntry.Text) || string.IsNullOrWhiteSpace(EmailEntry.Text) || string.IsNullOrWhiteSpace(PasswordEntry.Text) || string.IsNullOrWhiteSpace(RepeatPasswordEntry.Text))
{
await DisplayAlert("Enter all information", "", "Close");
}
else
{
if (PasswordEntry.Text == RepeatPasswordEntry.Text)
{
user u = new user();
var _content = new FormUrlEncodedContent(new[]
{
new KeyValuePair<string, string>("Id", u.Id),
new KeyValuePair<string, string>("Username", u.Username),
new KeyValuePair<string, string>("Email", u.Email),
new KeyValuePair<string, string>("Passwd", u.Passwd),
new KeyValuePair<string, string>("Age", u.Age)
});
var _result = await _client.PostAsync("http://localhost/DATA/USER/CreateUser.php", _content).ConfigureAwait(false);
var _tokenJson = await _result.Content.ReadAsStringAsync();
var _post = JsonConvert.DeserializeObject<RestApiReturn>(_tokenJson);
var result = await DisplayAlert("Succesfull sign up", null, null, "Close");
if (result == false)
{
new MainPage();
}
}
else
{
await DisplayAlert("The entered passwords aren't the same", "", "Close");
}
}
UsernameEntry.Text = AgeEntry.Text = EmailEntry.Text = PasswordEntry.Text = RepeatPasswordEntry.Text = string.Empty;
}
我还为 'user' 和 'RestApiReturn' 制作了两个 appart 类:
谁能帮我解决我的问题!谢谢大家!
【问题讨论】:
-
不要使用本地主机。使用服务器的 IP 或 FQDN。
-
这不是我的问题,但谢谢你
-
您的问题是“有人可以帮助我吗”,我指出您对 localhost 的使用很可能导致它引发网络异常。
-
你能告诉我在哪里可以找到我的服务器的IP吗?
-
我不知道你有什么样的服务器。谷歌会帮你搞清楚
标签: php xamarin.forms mysql-workbench cross-platform registration