【发布时间】:2017-06-09 23:03:33
【问题描述】:
我没有深入研究,但是两者的优缺点是什么.. 似乎它们是多余的,显然 Core 版本是实验性的,可能不适用于 Odata 和 Entity Framework 等许多核心库
【问题讨论】:
标签: asp.net-web-api azure-service-fabric
我没有深入研究,但是两者的优缺点是什么.. 似乎它们是多余的,显然 Core 版本是实验性的,可能不适用于 Odata 和 Entity Framework 等许多核心库
【问题讨论】:
标签: asp.net-web-api azure-service-fabric
tl/dr:无状态 Web API 是较旧的“经典”Web API。 ASP.NET Core 是所有新功能的新东西。
更多细节:
无状态 Web API 模板:
ASP.NET Core 模板:
【讨论】:
那么最大的不同就是ASP.NET Core Web API真的是建立在.NET Core之上的。这两种类型都会为您提供无状态服务、相同的 ServiceManifest、ETW 记录器,并且它们以相同的方式启动服务。
ASP.NET Core Web API 模板使用来自附加程序集Microsoft.ServiceFabric.AspNetCore.WebListener 的WebListenerCommunicationListener 内的Microsoft.AspNetCore.Hosting.IWebHost 设置一个HTTP 侦听器(它实际上只包含一个帮助器来创建基于ASP.NET 的侦听器核心主机。它还为您提供了基于 ASP.NET Core MVC 的 Web Api 的脚手架。
Stateless Web API 模板使用 Microsoft.Owin.Hosting.WebApp 内的 OwinCommunicationListener 设置 HTTP 侦听器,而该 OwinCommunicationListener 包含在您的项目源代码中。
Service Fabric 如何处理从这两个模板创建服务的结果或您获得的服务类型没有任何其他区别,只是您作为样板开始使用的内容有所不同。此外,模板设置的项目没有什么特别之处,您始终可以创建一个空项目并添加 NuGet 并手动创建所需的 PackageRoot 文件以创建新服务。
您基本上是在选择是否要使用 .NET Core 来构建您的服务。
【讨论】: