【问题标题】:Call WebAPI to .NET Framework from .NET Core从 .NET Core 调用 Web API 到 .NET Framework
【发布时间】:2021-09-24 01:44:55
【问题描述】:

我在 ASP .NET Core 上有后端项目。我在这个项目中写了一个 web api。另外,我在 .NET Framework 上有 UI 项目。我想从 .NET Framework 调用 web api 并使用它。最好的方法是什么?

【问题讨论】:

  • 请务必不要使用错误的标签。 ASP.NET Core 应标记为[asp.net-core]
  • 欢迎来到stackoverflow,请看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。

标签: c# .net asp.net-core web-services devexpress


【解决方案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。
  • 在您的问题上添加您的代码以更好地帮助您。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2020-12-20
  • 2020-12-14
  • 1970-01-01
  • 2018-05-08
  • 1970-01-01
  • 1970-01-01
  • 2020-02-03
相关资源
最近更新 更多