I haven't dug in that much, but what are the pros and cons of both.. Seems they are redundant, obviously the Core version is experimental and probably will not work with many core libraries like Odata and Entity Framework
tl/dr: Stateless Web API is the older "classic" Web API. ASP.NET Core is the new stuff where all the new features are going.
More details:
Stateless Web API template:
ASP.NET Core template:
Then biggest difference is that the ASP.NET Core Web API is built on .NET Core really. Both types will give you a Stateless service, identical ServiceManifests, ETW loggers and they start up the service in an identical way.
The ASP.NET Core Web API template sets up a HTTP listener using an Microsoft.AspNetCore.Hosting.IWebHost
inside a WebListenerCommunicationListener
from the additional assembly Microsoft.ServiceFabric.AspNetCore.WebListener
(which really only contains a helper to create the listener based of the ASP.NET Core host. It also gives you the scaffolding for an ASP.NET Core MVC based Web Api.
The Stateless Web API template sets up a HTTP listener using an Microsoft.Owin.Hosting.WebApp
inside a OwinCommunicationListener
which is included in your projects source instead.
There isn't any other difference in how Service Fabric handles the result of creating services from these two templates or what types of services you get, it's only a difference in what you get as a boiler plate to start working with. Also, there is nothing special about the projects that are setup by the templates, you can always create an empty project and add the NuGets and create the required PackageRoot files manually to create a new service.
You are basically choosing if you want to use .NET Core to build your service.
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With