gpt4 book ai didi

c# - 中央 Web API 应用程序服务于多个 .NET 前端的策略

转载 作者:行者123 更新时间:2023-11-30 16:58:34 26 4
gpt4 key购买 nike

我最终想尽可能多地解耦现有的 ASP.NET MVC 项目。

随着时间的推移,他们使用多种方法,我正在学习:

  1. 标准 MVC, Controller 操作将单独的 View 返回给浏览器。
  2. 返回 FAT 部分 View 和 jquery 更新页面的 Controller 操作。
  3. Controller 操作仅返回 JSON/XML 数据,jquery 负责更新 UI

现在我想通过使用更重的 javascript 方法,将 Knockout、Angular、Backbone 等库放入游戏中,从而转向更动态的前端。但我也希望足够灵活和快速,如果我只想从我的 Controller 操作返回一个准备好的局部 View 。

所以我在考虑集中我的业务层,而不是以在我的 MVC 项目中有公共(public)项目的形式,而是在我的业务层和 DAL 之上有一个中央 WEB API 端点,它将服务于我的各种前端(它可以是 MVC , 控制台应用程序,通知 e.t.c)

这个:

DAL -> Business Layer -> WEB API

之后我想知道如何从各个点连接到 WEB API 输出:

  1. 纯 JS:直接从带有 ajax 调用的 WEB Api 端点

    <强>2。 .NET 应用(MVC、WinForms 等):究竟如何?

我的问题主要是关于上面的 #2。我想要有关如何从 Windows 窗体或 MVC Controller 操作中使用我的中央 WEP API 的特定用例

最佳答案

这叫做 Service Oriented Architecture .

对于 #2,您可以通过以下选项从 .NET 客户端(无论是 ASP.NET MVC 还是 WinForms)调用 RESTful 服务:

  1. Using an HttpClient .
  2. 使用RestSharp .这是一个帮助程序库,涵盖了大部分基本操作,包括请求/响应序列化和反序列化。请注意,在较新的版本中,JSON.NET 支持已被删除(出于某种原因,我现在不记得了......无论如何,它在 Google 网上论坛的讨论中)。

无论哪种方式,我都建议研究 HttpClient 完全支持的异步/等待模式。它会让您的生活更轻松,尤其是对于 WinForms 的东西。

关于 #1,没有什么能阻止您让 JavaScript 前端调用 Web API。只是 careful with CORS ,正如我假设您可能需要它(通过拥有多个网络客户端,可能部署在不同的域上)。

关于c# - 中央 Web API 应用程序服务于多个 .NET 前端的策略,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25136204/

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