Owin / Katana应该取代Web API吗?

当ASP.NET MVC出现时,微软在许多地方多次宣布它不应该取代ASP.NET Web Forms。 换句话说,它只是您可能觉得有用的另一种技术,或者您可能在其他场景中使用Web窗体。

然而,随着公司进入市场,他们无法拥有技术丛林,因为这太昂贵了。 他们通常选择一种成熟的技术,坚持使用它,在它上面构建并扩展它并在其中重复使用元素以降低成本。

现在我们正试图决定从Web API迁移到Owin / Katana。 我们只是想知道我们100%搬到Owin是否可以?

我问这个问题的原因是因为我们为Web API创建了一个非常丰富的代码库,包括流式传输,压缩,身份validation,UGC规范化,I18N和L10N支持等等。

如果我们想要迁移到Owin,我们需要再次为Owin重新创建这些工具/实用程序,因为它的体系结构与Web API不同。

我们想转移到Owin,因为它是更快,更轻,自托管的服务器,似乎是微软服务技术的未来。

我们完全转移到Owin并想象通过Owin提供所有服务的未来是否安全,我们是否停止使用Web API?

OWIN只是一个规范 ,仅此而已。 它描述了服务器和应用程序都可以使用的通用接口,因此应用程序不需要与服务器紧密耦合。

Katana是将ASP.NET与IIS分离的第一步。 根据官方路线图, 现在 Katana的工作已经停止 。 为Katana开发的思想和技术已经进入下一版本的ASP.NET(ASP.NET Core)。

在OWIN本身之上构建应用程序很少有意义,因为您在HTTP之上的最低抽象级别操作(字面上处理原始请求和响应)。 通常只有在构建需要低级访问的中间件组件时才需要这样做。

换句话说:你不应该在OWIN上重建你的应用程序,因为你要花很多时间重新发明ASP.NET中的所有东西。

ASP.NET Core是ASP.NET和Web API的下一个发展。 它拥有你提到的所有东西:它快速,轻便,并且可以自我托管。 如果需要重建架构,请在ASP.NET Core上执行。