我只是想了解一下webapi、webhost和owin之间的关系。我会写下我目前的理解,并请你告诉我它是否正确。
Microsoft.Owin.Host.SystemWeb,Microsoft.AspNet.WebApi.WebHost)是一个介于较高级别的API (如Webapi)和IIS之间的层。因为Webapi最初是独立于主机的,所以需要一个中间层来使它在特定的主机(如IIS )上运行。Webapi的Webhost (Microsoft.AspNet.WebApi.WebHost)提供了这一层。稍后,还会有用于Owin (Microsoft.Owin.Host.SystemWeb)的IIS主机层,这将允许在IIS上托管任何兼容的Owin。Microsoft.Owin.Host.SystemWeb) (类似于Webapi与Webhost的方式),它允许在IIS上托管Owin应用程序。它还附带了自主机(Microsoft.Owin.SelfHost),允许在任何可执行文件中托管Owin应用程序。就Webapi而言,Owin还附带了用于Webapi (Microsoft.AspNet.WebApi.Owin)的Owin,它允许在Owin堆栈上运行WebApi。所有这些都意味着,一种在IIS上托管Webapi的方法是不同的。它可以不使用Owin,使用Webapi WebHost,也可以使用和Webhost用于Owin。
Nuget参考资料:
这种理解是正确的吗?
发布于 2016-05-11 22:06:59
你的理解一般是正确的,但王的角色似乎被误解了。更完整的时间表是:
你的总结:
所有这些都意味着,一种在IIS上托管Webapi的方法是不同的。它可以不使用Owin,使用Webapi WebHost,也可以使用和Webhost用于Owin。
我要重申这一点:
所有这些都意味着有两种不同的方式来托管WebAPI。它可以在没有Owin的情况下使用WebAPI WebHost完成,也可以使用用于WebAPI的OWIN适配器和任何与自己兼容的主机来完成。IIS上的宿主选项是Microsoft.Owin.Host.IIS和Microsoft.Owin.Host.SystemWeb。还提供了Microsoft.AspNet.WebApi.OwinSelfHost。
https://stackoverflow.com/questions/30610064
复制相似问题