gpt4 book ai didi

c# - Xamarin 和 IIS LocalHost WebApi 给出错误 - System.Net.Http.HttpRequestException : 'Network subsystem is down'

转载 作者:行者123 更新时间:2023-12-04 11:36:51 36 4
gpt4 key购买 nike

我这里有 2 个应用程序。一个是 Xamarin 应用程序,另一个是 Asp.Net MVC 应用程序,它具有连接到 SqlServer 数据库的 WebApi,“其中数据库位于某个 IP 地址 xxx.xxx.xxx.xxx 之类的托管网站上”。

我在 IIS 本地运行 MVC 应用程序,然后在 IIS 中启动网站后,我从 Visual Studio 的第二个实例运行 Xamarin 应用程序。

首先,我认为 MVC WebApi 不会被调用,因为我尝试将断点放在那里,但它没有出现在那里。我不知道为什么。因为我对 Winforms 和 MVC 应用程序 (WebApi) 做了同样的事情,所以至少 WebApi 被调用了,我在 MVC 应用程序中看到了断点。

现在在 Xamarin 中,我收到此错误

System.Net.Http.HttpRequestException: 'Network subsystem is down'

在行中
var responseTask = await client.GetAsync("ConnectToAscDatabase");

我在 Xamarin 应用程序的 MainPage.cs 中有此代码
        private async void Button_OnClicked(object sender, EventArgs e)
{
HttpClientHandler handler = new HttpClientHandler();
handler.UseDefaultCredentials = true;
using (var client = new HttpClient(handler))
{
client.BaseAddress = new Uri("http://localhost:49252/api/");

// !!! This Line gives the error System.Net.Http.HttpRequestException: 'Network subsystem is down'
var responseTask = await client.GetAsync("ConnectToAscDatabase");

var readTask = responseTask.Content.ReadAsAsync<Microsoft.Data.SqlClient.SqlConnection>();
SqlConnection con = readTask.Result;
var staty = con.State;
}
}

这是一个 WebApi
        public class ConnectToAscDatabaseController : ApiController
{
public async Task<Microsoft.Data.SqlClient.SqlConnection> Get()
{
string SqlServer_ServerPath_Server = "SomeServer";
string SqlServer_Database_Server = "SomeDatabase";
string SqlServer_User_Server = "SomeUser";
string SqlServer_Password_Server = "SomePassword";
int timeOutInSeconds = 15;
string connectionString = "data source=" + SqlServer_ServerPath_Server + ";" + "initial catalog=" + SqlServer_Database_Server + ";" + "user id=" + SqlServer_User_Server + ";" + "Password=" + SqlServer_Password_Server + ";" + "Trusted_Connection=false" + ";" + "Connection Timeout=" + timeOutInSeconds + ";" + "Persist Security Info=False";
SqlConnection con = new SqlConnection(connectionString);
con.Open();
return con;
}
}

最佳答案

根据你的描述,你想在Xamarin.Forms中使用web api显示数据,这方面的文章很多,你可以看看:

https://www.c-sharpcorner.com/article/how-to-fetch-data-from-web-api-using-xamarin-forms/

您需要确保 Web API 项目已启动并正在运行,因为 Xamarin 应用程序将调用 WebAPI 来访问数据。

有关使用 Entity Framework 构建 ASP.NET Web API 和从 SQL 服务器检索数据的更多详细信息,您还可以查看:

https://medium.com/better-programming/building-a-restful-api-with-asp-net-web-api-and-sql-server-ce7873d5b331

关于c# - Xamarin 和 IIS LocalHost WebApi 给出错误 - System.Net.Http.HttpRequestException : 'Network subsystem is down' ,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/59334663/

36 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com