2

I have two options:

  1. If I self host Wep Api uisng OWIN/Katana I can have the performance gain but as mentioned here, I have to write code to have the features of IIS like logging, application pool scaling, throttling etc.

  2. Instead can I create API using Asp.Net Core which doesn't use unnecessary System.Web request pipeline ? And use the IIS features or Nginx Server features ?

With performance in mind which is the best option ?

Update:

I mean , I don't want to use IIS , but i want to self host Web API with IIS features using custom code. or Will Asp .NET Core will help me to achieve this without IIS and unnecessary System.Web request pipeline ?

2
  • Do you mean host in IIS vs self host?. Commented Aug 23, 2017 at 17:06
  • @Mardoxx , I mean , I dont want to use IIS , but i want self host Web API with IIS features using custom code. or will Asp .NET Core will help me to achieve this ? Commented Aug 24, 2017 at 4:35

2 Answers 2

2

I recommend option 2 i.e. ASP.NET Core Web API for following reasons

  • Now that ASP.NET Core 2 is out, it focused more on the better performance. Your API build will be minimal (takes in whats used in the application).
  • Core Web API can be built in most efficient way. The .NET Core code can help you deploy on non-windows machines.
  • API response is fast enough as lots of bottlenecks are avoided in the pipeline.

With Kestrel improvements, it beneficial to use ASP.NET Core 2. The Web API can be hosted on IIS/ Nginx or stand alone pretty easily.

Sign up to request clarification or add additional context in comments.

Comments

1

I'd go with using dotnet core as well. As there will be ongoing improvement for the middlewares and Nuget packages thanks to the open source community. Being cross platform could be another plus .

Additionally, dot net core got decent performance and the middleware pipeline is flexible enough to say it could pretty much cover the self hosted flexibility features.

1 Comment

appreciate mentioning about cross platform of dot net core.

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Start asking to get answers

Find the answer to your question by asking.

Ask question

Explore related questions

See similar questions with these tags.