创建自托管的Web API或使用Asp.Net核心Web API?
问题描述:
我有两个选择:创建自托管的Web API或使用Asp.Net核心Web API?
如果我自主机WEP阿比uisng
OWIN/Katana
我能有性能增益,但如前所述here,我不得不写代码有IIS
如日志功能,应用程序池缩放,节流等取而代之,我可以使用
Asp.Net Core
创建API,它不使用不必要的System.Web
请求管道?并使用IIS
功能或Nginx
服务器功能?
考虑到性能是最好的选择?
更新:
我的意思是,我不希望使用IIS
,但我想自托管Web API使用自定义代码IIS
功能。或者将Asp Asp.net核心将帮助我实现这个没有IIS和不必要的System.Web请求管道?
答
我建议选择2即ASP.NET核心Web API的原因如下
- 现在ASP.NET睿2已经出来了,它更专注于更好的性能。您的API构建将是最小的(需要在应用程序中使用什么)。
- 核心Web API可以以最有效的方式构建。 .NET Core代码可以帮助您在非Windows计算机上部署。
- API响应足够快,因为管道中可避免许多瓶颈。
随着Kestrel的改进,它有利于使用ASP.NET Core 2. Web API可以托管在IIS/Nginx上,或者很容易独立运行。
答
我会同时使用dotnet核心。由于开源社区,中间件和Nuget软件包将会持续改进。跨平台可能是另一个优点。
此外,dot net core获得了良好的性能,中间件流水线足够灵活,可以说它几乎涵盖了自我托管的灵活性功能。
+0
。 – stom
你的意思是主机在IIS与自主? – Mardoxx
@Mardoxx,我的意思是,我不想使用'IIS',但是我希望使用自定义代码使用'IIS'功能自行托管Web API。还是将Asp.net核心将帮助我实现这一目标?关于点网核心跨平台的欣赏提供了 – stom