从 .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(client, apiAdd, interpolation, new JsonMediaTypeFormatter());我可以这样做吗,因为我必须在 Windows 窗体客户端上提供许多 API。 在您的问题上添加您的代码以更好地帮助您。

以上是关于从 .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(未经授权)状态代码

如何从 ASP.NET MVC 到 ASP.NET Core Web API 的 PUT?