如何解释卡塔纳和OWIN简单的话和用途? [英] How to explain Katana and OWIN in simple words and uses?

查看:219
本文介绍了如何解释卡塔纳和OWIN简单的话和用途?的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我已阅读有关OWIN和武士刀的项目很多文章,但我无法得到它的全貌。

有关谁使用ASP.NET正常的Web开发人员:


  1. 到底是什么OWIN和它解决什么样的问题(以简单的话)。什么是它关系到IIS?

  2. 是否OWIN替代IIS?如果没有,在什么情况下做OWIN最适合?

  3. 怎么能OWIN帮助我在我的日常工作​​项目?

  4. 怎么能OWIN帮助我在一个自我完善的项目?


解决方案

对于上述评论,OWIN不是一个框架。 OWIN是关于如何Web服务器和Web应用程序应以分离从另一个并允许环境的ASP.NET应用程序移动,其中在当前的状态是不可能建立一个规范

此前OWIN,当你构建ASP.NET应用程序,你inheritedly必然IIS由于对System.Web程序集的严重依赖。

的System.Web是存在的,自从ASP(非.NET版本)的东西,内部含有很多东西,你甚至都不需要(如Web窗体或URL授权),它通过在每次请求的默认运行,从而消耗资源和大量一般比即Node.js的它的同行慢一些ASP.NET应用程序。

所以OWIN本身不具有任何工具,库或其他任何东西。这仅仅是一个规范。

卡塔纳另一方面,是由让电流ASP.NET框架和OWIN规范之间的桥梁充分发展的框架。目前,武士刀已经成功地适应以下ASP.NET框架OWIN:


  • 的Web API

  • 信号r

ASP.NET MVC和Web窗体仍可通过专门的System.Web运行,而从长远来看,有脱钩的还有一个计划。

在另一方面,IIS是Web服务器的好,足智多谋的主机。使用IIS整个ASP.NET性能问题有只的System.Web深厚的渊源。直到最近的时候,决定你将如何承载您的Web服务器时,你有两个选择:


  • IIS

  • 自托管

因此​​,如果你想要一个性能,你会去自我主机选项。如果你想了很多的IIS提供了通过现成的功能,你会去IIS,但你对性能的丧失。

现在,有一个3选项,命名的赫利俄斯(当前codeNAME)凡欲删除的System.Web出的方式,并允许您使用IIS更干净的方式,没有任何不必要的库或模块。赫利俄斯正处于pre-发行版本,并且为了使其完全支持微软产品正在等待更多的社区反馈。

希望这个解释澄清事情更好地为您。

编辑:

使用ASP.NET vNext在发展之中,武士刀慢慢变退役。 3.0版本将很可能是武士刀的最后一个主要版本作为一个独立的框架。

然而,武士刀推出的所有概念都被集成到ASP.NET vNext,这意味着编程模型将是pretty大同小异。从论坛发帖报价通过大卫福勒(ASP建筑师做。 NET vNext):


  

vNext的前身是武士刀(这就是为什么它们看起来如此相似)。
  武士刀是突破的开始远离的System.Web和更多
  模块化组件为网络堆栈。你可以看到vNext作为
  这项工作的延续,但更大的进展(新的CLR,新项目
  系统,新的HTTP抽象)。


  
  

这卡塔纳中存在的今天一切都将使它的方式进入vNext。


编辑:

ASP.NET vNext,现在被称为ASP.NET 5,将在.NET核心5. .NET核心上方内置5是轻量级的因式分解版本的.NET框架,旨在支持ASP.NET 5的目标, .NET本机。但是,ASP.NET 5将.NET框架4.6为好,应该一起变得可利用.NET核心5.无论ASP.NET 5和.NET核心5 MIT下将获得许可,并接受社会各界捐款支持。

编辑:

此外,的ASP.NET Web API的品牌将被停产,但它的技术将成为基地新的ASP.NET MVC 6 previous ASP.NET MVC版本通过实现IHttpHandler的,在系统中定义的接口建成。网页。 ASP.NET MVC 6移除依赖,使得它移植到不同的平台和Web服务器。

编辑:

ASP.NET 5将正式更名为ASP.NET核心开始发行候选版本2的计划将很快发布。同样将适用于实体框架7将被重新命名为实体框架的核心。有关官方宣布和它背后的原因的更多信息,斯科特Hanselman的博客文章中找到:
ASP.NET 5死了 - 介绍ASP.NET 1.0的核心和.NET 1.0的核心

编辑:

随着候选发布版2的发布,ASP.NET核心已被修改,使未来的网络应用程序实际上只是.NET核心控制台应用程序的设置来处理传入的HTTP请求。这个概念使得ASP.NET核心更加有办法微软采取了与微服务架构的支持,并通过Azure的服务布其实现对齐。有关更多信息,请官方博客文章中找到:
宣布ASP.NET核心RC2

I have read many articles about the OWIN and Katana projects, but I could not get the whole picture of it.

For a normal web developer who uses ASP.NET:

  1. What exactly is OWIN and what problems does it solve (in simple words). What is its relation to IIS?
  2. Does OWIN replace IIS? if not, in what situations does OWIN best fit?
  3. How could OWIN help me in my daily work projects?
  4. How could OWIN help me in a self-improvement projects?

解决方案

Regarding the comment above, OWIN is not a framework. OWIN is a specification on how web servers and web applications should be built in order to decouple one from another and allow movement of ASP.NET applications to environments where at the current state it is not possible.

Prior to OWIN, when you are building ASP.NET application, you are inheritedly bound to IIS due to the heavy dependency on System.Web assembly.

System.Web is something that exist ever since ASP (non .NET version) and internally contains many things that you might not even need (such as Web Forms or URL Authorization), which by the default run on every request, thus consuming the resources and making ASP.NET applications in general lot slower than it's counterparts at i.e. Node.js.

So OWIN itself does not have any tools, libraries or anything else. It is just a specification.

Katana on the other hand, is fully developed framework made to make a bridge between current ASP.NET frameworks and OWIN specification. At the moment, Katana has successfully adapted the following ASP.NET frameworks to OWIN:

  • Web API
  • Signal R

ASP.NET MVC and Web Forms are still running exclusively via System.Web, and in the long run there is a plan to decouple those as well.

On the other hand, IIS is good, resourceful host for web servers. Entire ASP.NET performance issue with using IIS has deep roots in System.Web only. Up until the recent time, when deciding how will you host your web server, you had two options:

  • IIS
  • Self-Host

So if you wanted a performance, you'd go for self-host option. If you wanted a lot of out-of-the-box features that IIS provides, you'd go for IIS but you'd lose on performance.

Now, there is a 3rd option, a Microsoft library named Helios (current codename) which intends to remove System.Web out of the way, and allow you to use IIS on more "cleaner" way, without any unnecessary libraries or modules. Helios is now in pre-release version, and is waiting for more community feedback in order to make it fully supported Microsoft product.

Hope this explanation clarifies things better for you.

EDIT:

With ASP.NET vNext being in development, Katana is slowly getting retired. Version 3.0 will most likely be last major release of Katana as a standalone framework.

However, all the concepts introduced with Katana are being integrated into ASP.NET vNext, meaning that programming model will be pretty much the same. Quote from forum post made by David Fowler (Architect of ASP.NET vNext):

vNext is the successor to Katana (which is why they look so similar). Katana was the beginning of the break away from System.Web and to more modular components for the web stack. You can see vNext as a continuation of that work but going much further (new CLR, new Project System, new http abstractions).

Everything that exists today in Katana will make it's way into vNext.

EDIT:

ASP.NET vNext is now known as ASP.NET 5 and will be built on top of .NET Core 5. .NET Core 5 is lightweight factored version of .NET Framework, designed to support goals of ASP.NET 5 and .NET Native. However, ASP.NET 5 will be supported by .NET Framework 4.6 as well, that should become available together with .NET Core 5. Both ASP.NET 5 and .NET Core 5 will be licensed under MIT and will accept community contributions.

EDIT:

Additionally, ASP.NET Web API brand will be discontinued, however it's technology will be base for new ASP.NET MVC 6. Previous ASP.NET MVC versions were built by implementing IHttpHandler, an interface defined in System.Web. ASP.NET MVC 6 removes that dependency, making it portable to various platforms and web servers.

EDIT:

ASP.NET 5 will officially be renamed to ASP.NET Core starting with Release Candidate 2 that is scheduled to be released soon. Same will apply for Entity Framework 7 which will be renamed to Entity Framework Core. More information about official announcement and reasons behind it can be found on Scott Hanselman's blog post: ASP.NET 5 is dead - Introducing ASP.NET Core 1.0 and .NET Core 1.0

EDIT:

With the release of Release Candidate 2, ASP.NET Core has been modified so that future web apps are actually just .NET Core console apps setup to process incoming HTTP requests. This concept makes ASP.NET Core even more aligned with approach Microsoft has taken with microservices architecture support and its implementation through Azure Service Fabric. More information on can be found on official blog post: Announcing ASP.NET Core RC2

这篇关于如何解释卡塔纳和OWIN简单的话和用途?的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆