asp.net web api 自托管 / owin / katana

Posted

技术标签:

【中文标题】asp.net web api 自托管 / owin / katana【英文标题】:asp.net web api self hosting / owin / katana 【发布时间】:2015-01-09 01:25:18 【问题描述】:

我有很多关于自托管的问题

自托管 Nuget

有 2 个提供自托管的 nuget:Microsoft.AspNet.WebApi.OwinSelfHostMicrosoft.AspNet.WebApi.SelfHost,那么微软有 2 个自托管的实现吗?还是一样??

欧文或奇塔纳

nuget 的名称是Microsoft.AspNet.WebApi.OwinSelfHost 有 OWIN,但据我所知 Owin 是一个接口,Kitana 是一个实现,实现的 nuget 的名称是什么?

在生产中托管

我已经设法通过创建控制台来运行该示例。但是在部署到产品时,如何部署?运行exe并继续运行控制台,不能这样做。如果有人关闭该控制台怎么办。所以应该作为windows服务的一部分托管??或者还有其他方法吗?

【问题讨论】:

【参考方案1】:

NuGet 包here 明确说明了这一点。

Microsoft ASP.NET Web API 2.2 Self Host 5.2.2 这是一个旧包 用于在您自己的进程(IIS 之外)中托管 ASP.NET Web API。 请使用 Microsoft.AspNet.WebApi.OwinSelfHost 包进行新的 项目。

无论如何,SelfHost 是旧的并且基于 WCF 堆栈。 OwinSelfHost 是新的,基于 Katana(名称是 Katana 而不是 Kitana,顺便说一句)。

对于生产托管,控制台应用程序不实用。您将需要创建一个 Windows 服务。看看this。

【讨论】:

【参考方案2】:

在使用 webapi/owin 工作了几个月后,我得到了上述问题的答案..

要使用的包

Microsoft.AspNet.WebApi.OwinSelfHost

为了更好地托管使用 topshelf

顶架

请阅读blog post

【讨论】:

以上是关于asp.net web api 自托管 / owin / katana的主要内容,如果未能解决你的问题,请参考以下文章

请求实体对于自托管 ASP.Net Web API 来说太大

强大的自托管服务器的最佳选择:WCF 与 ASP.NET Web Api

如何在 asp.net 自托管 API 中启用 CORS?

如何使用 HTTP 连接通过托管在 IIS 上的 ASP.NET 成员身份保护 ASP.NET Web API [重复]

将托管在 AWS EC2 上的 Asp.net Web api 连接到 AWS API Gateway

自托管 asp.net mvc