我没有那么多挖,但两者的优点和缺点是什么......似乎它们是多余的,显然核心版本是实验性的,可能不适用于许多核心库,如Odata和Entity Framework
tl/dr:无状态Web API是较旧的"经典"Web API.ASP.NET Core是所有新功能的新功能.
更多细节:
无状态Web API模板:
基于OWIN的"经典"ASP.NET Web API 2.不支持MVC(没有Razor服务器端渲染).
仅限完整的.NET Framework.
在Visual Studio 2015中使用"经典".NET项目类型(.csproj).
将Katana用于Web主机,该主机构建在System.Net.HttpListener上,后者本身使用Windows HTTP Server API(http.sys).
ASP.NET核心模板:
新的ASP.NET Core,它结合了MVC和Web API,并提供了Razor服务器端呈现和ASP.NET的大量新功能.
完整的.NET Framework或.NET Core,但目前Service Fabric中仅支持完整的.NET Framework.
在Visual Studio 2015中使用新的.NET项目类型(.xproj).在VS 2015中为此项目类型的工具被视为"预览"并将保持不变.工具仅在较新的Visual Studio 2017中被视为"生产"(它已被更改回.csproj).这就是我们目前在VS 2015中同时拥有两个项目模板的原因.
使用WebListener或Kestrel作为Web主机.
WebListener也基于http.sys,完全支持.
Kestrel基于完全不同的跨平台库(libuv),在当前状态下,我们不建议将其放在面向Internet的生产应用程序中,而不使用反向代理来提供DoS保护.