ASP.NET Web API 不依赖 IIS 的应用程序

ASP.NET Web API app that does not rely on IIS

我需要使用不依赖 IIS 的 ASP.NET Web API 制作单页 Web 应用程序。根据我的阅读,我应该在 OWIN 管道中将应用程序配置为 运行 并删除对 System.Web.

的任何引用

对吗?对 ISS 的依赖是否等同于对 System.Web 的引用?

反之:引用 System.Web 是否等同于依赖 IIS?

您要删除的包是Microsoft.Owin.Host.SystemWeb.
它用于使您的 Owin 服务器能够 运行 您的 Web ApiIIS.

您可以使用 this 包自行托管 Web Api(不依赖 IIS): Microsoft.AspNet.WebApi.OwinSelfHost.

总结你的网站api必须只依赖这些包:

  • Microsoft.AspNet.WebApi.Client
  • Microsoft.AspNet.WebApi.Core
  • Microsoft.AspNet.WebApi.Owin
  • Microsoft.AspNet.WebApi.OwinSelfHost
  • Microsoft.Owin
  • 欧文
  • Microsoft.Owin.托管
  • Microsoft.Owin.Host.HttpListener
  • Newtonsoft.Json

如果您想进行一些诊断,您可以添加:

  • Microsoft.Owin.诊断

如果您有兴趣,我已经在 github 上发布了一个 experiment 用于一些测试。