【ASP.Net】OWIN host

资料来源:https://www.asp.net/aspnet/overview/owin-and-katana


传统的asp.net模式的局限性

无论谁在讨论一个工程的框架或者最终产品时, 很重要的一点就是知道创建这个产品的潜在的动机是什么.
OWIN总的说来就是asp.net web api的宿主不再是传统的寄宿于IIS上, 而是可以在一个windows service上面, 一个console application或者其他上面的这种web api模式.
那么为什么要有这种模式?
首先,传统意义上的asp.net web api框架是一个整体的,在逻辑上与system.web.dll紧密的耦合.
其次,asp.net被包含在更大的.net framework当中, 这就意味着release周期跨度往往会很大,这样就会造成asp.net很难与当下日新月异的web技术保持同一个节奏.
最后, system.web.dll本身和web host: IIS过度耦合.


革命性的进步: ASP.NET MVC 与 ASP.NET WEB API

当下, web application进展迅速并且被开发的越来越"小", 专注于组件而不是大的框架.大量的组件被频繁的发布, 所以这就要求asp.net如果想要跟上时代的节奏就必须进行解耦,将自己变小, 因此ASP.NET团队将其改革成为一个可增加式的web组件结构而并非一个框架.其中最重要的一个进步就是将传统的由server生成的动态的页面转变成静态的初始化标记的并且由client生成并且使用AJAX请求与后端web api进行通信.


更加灵活的未来

由于asp.net的解耦,使其变得更富有吸引力,开发者希望一个小的轻量级的框架去host他们的服务.这就让webapi的selfhost模式更加具备吸引力.OWIN被设计成一个更简单的, 并且与其他的框架依赖最少.基于Nuget的release也正是灵活特性的一种.参见链接Owin NuGet Package


从Katana开始:

  1. Katana architecture

  2. Katana projet components

  3. 有兴趣的话可以参见这个项目: Use OWIN to Self-Host ASP.NET Web API 2 这里不做赘述.

posted @ 2018-07-12 20:33  YanyuWu  阅读(278)  评论(0)    收藏  举报