我读过很多关于OWIN和Katana项目的文章,但我无法了解它的全貌.
对于使用ASP.NET的普通Web开发人员:
- 究竟拥有什么,它解决了什么问题(简单地说).它与IIS有什么关系?
- OWIN会取代IIS吗?如果不是,在什么情况下拥有最合适?
- OWIN如何帮助我完成日常工作项目?
- OWIN如何帮助我进行self 提升项目?
我读过很多关于OWIN和Katana项目的文章,但我无法了解它的全貌.
对于使用ASP.NET的普通Web开发人员:
关于上述 comments ,OWIN不是一个框架.OWIN是一个关于如何构建web服务器和web应用程序的规范,以便将它们解耦并允许ASP.NET应用程序到以前不受支持的环境.
在OWIN之前,在构建ASP时.NET应用程序,由于对System.Web
程序集的严重依赖,您天生就绑定到IIS.
System.Web
是自ASP(非.NET版本)以来就存在的东西,它在内部包含许多您可能甚至不需要的东西(例如Web表单或URL授权),默认情况下,这些东西都会在每个请求上运行,从而消耗资源并使ASP.NET应用程序通常比Node之类的应用程序慢很多.比如js.
OWIN itself does not have any tools, libraries or anything else. It is just a specification.
另一方面,Katana是一个充分开发的框架,用于在当前ASP.NET框架和OWIN规范.目前,Katana已经成功地改编了以下ASP.NET框架到OWIN:
ASP.NETMVC和Web表单仍然只通过系统运行.从长远来看,也有一个计划将它们分离开来.
另一方面,IIS是一个很好的、资源丰富的web服务器主机.整个ASP.使用IIS的网络性能问题只有System.Web
个根源.直到最近,在决定如何托管web服务器时,您有两个 Select :
所以如果你想看演出,你可以 Select 自助式.如果您想要IIS提供的许多开箱即用的功能,您可以 Select IIS,但您会损失性能.
现在,还有第三个选项,一个名为Helios(当前代码名)的Microsoft库,它打算删除System.Web
,并允许您以更"干净"的方式使用IIS,而不需要任何不必要的库或模块.Helios现在是预发布版本,正在等待更多社区反馈,以使其完全支持Microsoft产品.
希望这个解释能更好地为你澄清问题.
EDIT (Sep 2014):
与ASP.NET vNext正在开发中,Katana正在慢慢退役.版本3.0很可能是Katana作为独立框架的最后一个主要版本.
然而,Katana引入的所有概念都被集成到ASP中.NET vNext,这意味着编程模型将基本相同.引用David Fowler(ASP.NET vNext的架构师)的forum post句话:
vNext是Katana的继承者(这就是为什么它们看起来如此相似).
今天在卡塔纳存在的一切都将进入vNext.
EDIT (Feb 2015):个
ASP.NET vNext现在被称为ASP.NET 5,并将建在其上.净核心5.NET Core 5是的轻量化版本.NET框架,旨在支持ASP.第五网和第五网.NET原生.然而,ASP.NET 5将由支持.NETFramework4.6,该版本也应该与.净核心5.都是ASP.第五网和第五网.NET Core 5将获得麻省理工学院的许可,并接受社区捐款.
EDIT (May 2015):个
此外,ASP.NETWebAPI品牌将停产,但其技术将成为新ASP的基础.NETMVC6.以前的ASP.NET MVC版本是通过实现IHttpHandler构建的,IHttpHandler是System.Web
年定义的一个接口.ASP.NETMVC6消除了这种依赖性,使其可移植到各种平台和web服务器上.
EDIT (May 2016):
ASP.NET5将正式更名为ASP.NET Core从即将发布的候选版本2开始.同样适用于实体框架7,该框架将更名为实体框架核心.有关官方声明及其背后原因的更多信息,请参阅斯科特·汉塞尔曼的博客:
EDIT (May 2016):
随着候选版本2ASP.NET Core has been modified so that future web apps are actually just .NET Core console apps setup to process incoming HTTP requests的发布.这个概念使得ASP.NET Core与微软通过Azure Service Fabric支持微服务体系 struct 及其实现的方法更加一致.有关的更多信息,请访问官方博客: