从 .NET Core 调用 Web API 到 .NET Framework
Posted
技术标签:
【中文标题】从 .NET Core 调用 Web API 到 .NET Framework【英文标题】:Call WebAPI to .NET Framework from .NET Core 【发布时间】:2021-09-24 01:44:55 【问题描述】:我在 ASP .NET Core 上有后端项目。我在这个项目中写了一个 web api。另外,我在 .NET Framework 上有 UI 项目。我想从 .NET Framework 调用 web api 并使用它。最好的方法是什么?
【问题讨论】:
请务必不要使用错误的标签。 ASP.NET Core 应标记为[asp.net-core]
。
欢迎来到***,请看how to ask a question。特别是关于研究的部分。请注意,服务器上的特定语言对客户端无关紧要。所以你的问题或多或少只是“Call webapi from .net framework”。
这取决于你的要求,你能分享一下你想要达到的目标吗?以便我们可以为您提供帮助。在不了解上下文的情况下解释所有最佳实践真的很难。
我有后端 web api,比如 post、put、delete。我正在使用 newtonsoft.json 在 web abi 上发布。我需要在客户端提供并在 Windows 窗体中使用它。我正在寻找从后端拉 web api 的方法。我解释清楚了吗?
是的,您可以使用HttpClient()
从您的windows from
使用web api
服务。例如,在按钮单击事件中,您可以为web api
请求编写代码。并将该响应绑定到您的 from。
【参考方案1】:
您似乎正试图从您的Windows Form application
呼叫Web API
。
你可以试试这个方法:
在您的 Windows 上,您可以通过 Button Click 事件编写此代码 sn-p
private void Button2_Click(object sender, EventArgs e)
HttpClient _httpClient = new HttpClient();
string uri = "http://localhost:11951/api/MsAgent/GetMSAgentByAlias?alias=TestParam";
var _http_response = _httpClient.GetAsync(uri);
_http_response.Wait();
var _read_response = _http_response.Result.Content.ReadAsStringAsync();
_read_response.Wait();
if (_read_response.Result.Contains("No Data Found!"))
// Your Logic what you would like to do when no response
var data = JsonConvert.DeserializeObject<MSAgentViewModel>(_read_response.Result);
//Do what you wants to do with your API response
//Can Bind Data With From Property
这是一种方法,您可以让不同类别中的API Service Class
由您决定。那里有很多最佳实践。如果您需要更多帮助,请告诉我。
【讨论】:
我见过很多这样的不同方法,它不能完全满足我的要求。我想做 return PostAsync 但有错误,我无法处理。因为我无法在评论上分享截图,所以我在这里写。 -> return await client.PostAsync以上是关于从 .NET Core 调用 Web API 到 .NET Framework的主要内容,如果未能解决你的问题,请参考以下文章
从 .NET Core Web API 调用 SalesForce API 并将响应反序列化为 c# 对象?
从 ASP.NET MVC 项目调用 .NET CORE 5 Web API 微服务时无法检索 BadRequest 错误
将文件从 ASP.NET Core Web api 发布到另一个 ASP.NET Core Web api
无法在 ASP.Net Core Web api 中启用 CORS
.NET Core - 在 IIS 上使用 Windows 身份验证从 MVC 应用程序调用 Web API 导致 HttpRequestException 401(未经授权)状态代码