首页 > 解决方案 > 使用 Web API 连接 SQL Server 数据库和 Xamarin Android

问题描述

localhost不工作,我现在正在使用 SQL Server 数据库,但我不知道在 localhost IP 中放入什么,我尝试10.0.2.2了我的 ipv4 ip。它也不起作用。

     HttpClient client = new HttpClient();
     string url = $"https://localhost:xxxxx/api/Feedback?email={feedback.Email}&subject={feedback.Subject}&message={feedback.Message}";

例外

System.Net.WebException: 'Failed to connect to localhost/127.0.0.1:44330'

代码:

     btnSend.Click += async delegate
            {
                Feedback feedback = new Feedback();
                feedback.Email = edtEmail.Text;
                feedback.Subject = edtSubject.Text;
                feedback.Message = edtMessage.Text;
                HttpClient client = new HttpClient();
                string url = $"https://localhost:xxxxxx/api/Feedback?email={feedback.Email}&subject={feedback.Subject}&message={feedback.Message}";
                
                var uri = new Uri(url);
                client.DefaultRequestHeaders.Accept.Add(new MediaTypeWithQualityHeaderValue("application/json"));
                HttpResponseMessage response;
                var json = JsonConvert.SerializeObject(feedback);
                var content = new StringContent(json, Encoding.UTF8, "application/json");
                response = await client.PostAsync(uri, content);
                Clear();

                if (response.StatusCode == System.Net.HttpStatusCode.Accepted)
                {
                    Toast.MakeText(this, "Your Feedback is Saved ", ToastLength.Long).Show();
                }
                else
                {
                    Toast.MakeText(this, "Your Feedback is not Saved", ToastLength.Long).Show();
                }
            };
        }

WebAPI 的图像:

WebAPI 的内容

标签: androidsql-serverxamarinasp.net-web-api

解决方案


这取决于您的开发环境设置,如果您使用的是真实手机,那么您必须确保您的 PC 和您的手机在同一个网络上,并且相应的端口号在您的 PC 防火墙中打开手机无法访问的其他地方服务。


推荐阅读