【问题标题】:Create Self Hosted Web API or Use Asp.Net Core Web API?创建自托管 Web API 还是使用 Asp.Net Core Web API?
【发布时间】:2017-08-24 13:55:11
【问题描述】:

我有两个选择:

  1. 如果我自己托管 Wep Api uisng OWIN/Katana 我可以获得性能提升,但正如 here 所提到的,我必须编写代码才能拥有 IIS 的功能,例如日志记录、应用程序池缩放、节流等。

  2. 我可以使用不使用不必要的System.Web 请求管道的Asp.Net Core 创建API 吗?并使用IIS 功能或Nginx 服务器功能?

考虑到性能,哪个是最佳选择?

更新:

我的意思是,我不想使用 IIS,但我想使用自定义代码自托管具有 IIS 功能的 Web API。还是 Asp .NET Core 将帮助我在没有 IIS 和不必要的 System.Web 请求管道的情况下实现这一目标?

【问题讨论】:

  • 您的意思是 IIS 中的主机还是自己的主机?
  • @Mardoxx ,我的意思是,我不想使用 IIS ,但我希望使用自定义代码自托管具有 IIS 功能的 Web API。还是 Asp .NET Core 会帮助我实现这一目标?

标签: asp.net-web-api asp.net-core owin


【解决方案1】:

我推荐选项 2,即 ASP.NET Core Web API,原因如下

  • 现在 ASP.NET Core 2 已经发布,它更加关注更好的性能。您的 API 构建将是最小的(包含应用程序中使用的内容)。
  • 可以以最有效的方式构建核心 Web API。 .NET Core 代码可以帮助您在非 Windows 机器上进行部署。
  • API 响应速度足够快,因为避免了管道中的许多瓶颈。

随着 Kestrel 的改进,使用 ASP.NET Core 2 是有益的。Web API 可以托管在 IIS/Nginx 上,也可以很容易地独立运行。

【讨论】:

    【解决方案2】:

    我也会使用 dotnet core。由于开源社区,中间件和 Nuget 包将不断改进。跨平台可能是另一个优势。

    此外,dot net core 获得了不错的性能,并且中间件管道足够灵活,可以说它几乎可以涵盖自托管的灵活性功能。

    【讨论】:

    • 感谢提及点网核心的跨平台。
    猜你喜欢
    • 2020-11-23
    • 2015-01-09
    • 1970-01-01
    • 2018-03-18
    • 1970-01-01
    • 2019-02-24
    • 2016-05-31
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多