Owin/Katana是否应该取代Web API

本文关键字:取代 Web API Katana 是否 Owin | 更新日期: 2023-09-27 18:01:15

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

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

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

我问这个问题的原因是因为我们已经为Web API创建了非常丰富的代码库,包括流、压缩、身份验证、UGC的规范化、对I18N&L10N等。

如果我们想转移到Owin,我们需要为Owin重新创建这些设施/实用程序,因为它的架构不同于Web API。

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

我们完全搬到Owin,想象一下未来我们所有的服务都通过Owin提供,我们停止使用Web API,这安全吗?

Owin/Katana是否应该取代Web API

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

Katana是实现ASP.NET与IIS脱钩的第一步。根据官方路线图,卡塔纳的工作现在已经停止。为Katana开发的思想和技术已经进入了ASP.NET的下一个版本(ASP.NET Core(。

在OWIN本身之上构建应用程序几乎没有意义,因为您在HTTP之上的最低抽象级别上操作(实际上是处理原始请求和响应(。这通常只有在构建需要低级访问的中间件组件时才有必要。

换句话说:您不应该在OWIN上重新构建您的应用程序,因为您将花费大量时间重新设计ASP.NET中已经存在的所有内容。

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