【发布时间】:2019-10-11 19:50:17
【问题描述】:
Asp.Net Core SPA 和分离成 Asp.Net Core WebAPI + 独立网络应用程序的主要区别是什么。这是我的 2cent 分离解决方案与使用 SPA 模板看起来没有差异,但前者使后端代码和文件夹结构更加清晰。使用 Asp.Net Core SPA 模板有什么好处吗?
【问题讨论】:
标签: c# angular reactjs asp.net-core asp.net-core-mvc
Asp.Net Core SPA 和分离成 Asp.Net Core WebAPI + 独立网络应用程序的主要区别是什么。这是我的 2cent 分离解决方案与使用 SPA 模板看起来没有差异,但前者使后端代码和文件夹结构更加清晰。使用 Asp.Net Core SPA 模板有什么好处吗?
【问题讨论】:
标签: c# angular reactjs asp.net-core asp.net-core-mvc
WebAPI + 独立网络应用的好处
托管:您可以在低成本托管解决方案上托管您的网络应用程序,例如AWS S3/Azure blob 存储。
云原生:根据您的解决方案,您可以非常轻松地使用云原生技术。例如如果您使用的是无服务器 API,那么这种架构在这种情况下效果最好。
灵活性:您的解决方案与托管无关。这意味着您可以在本地或任何地方发布应用程序,只要 API 合同相同,它就可以工作。
独立的 UI 团队:UI 团队可以只专注于 Web 应用程序,而无需了解任何后端。
ASP.NET CORE SPA 的好处
更好的集成:就像有人提到的那样,您不必担心 CORS。
开箱即用的身份验证/授权:如果您使用的是 ASP.NET CORE,则可以使用开箱即用的身份验证解决方案。在上述情况下,您必须编写和实现自己的身份验证/授权逻辑。此外,如果您要将解决方案部署到 Azure。您可以使用 Identity-tokens 而不是 Access-token 来访问您的 API,这很方便。
【讨论】:
SPA
使用 SPA 模板,我可以使用内置的 Angular 或 React with ASP.Net 核心无需担心 CORS 错误,我可以将 Angular 应用程序发布到 如果我愿意,只需单击 Visual 中的发布网站即可生产模式 工作室。使用SPA,您可以为用户提供丰富的体验。使用 Angular SPA 模板也支持领先的服务器端渲染 以提高性能并内置 Angular CLI 支持。
WebAPI + 独立网络应用
您可以轻松地将所有内容分成更小的部分,以便您可以 轻松管理和扩大规模,但可能需要付出一定的代价 在不同的域中托管不同类型的服务并让它们工作 在一起
因此,取决于您的需要,您可以在这 2 种之间进行选择
【讨论】: