https://github.com/dotnet/core
https://github.com/aspnet/home

今天看到 .NET Core 的改名计划,感觉跨平台的时代快要来了,从之前的 ASP.NET NEXT,ASP.NET 5,ASP.NET Core 1.0 等概念一路演变过来,花了点时间总结一下几个相关的概念。

OWIN 与 Katana 的关系

ASP.NET Core 1.0 的由来,要追溯到 Katana 这个项目, Katana 是 OWIN 定义规范的一个实现组件集合。

Open Web Interface for .NET (OWIN)

OWIN 是 Open Web Server Interface for .NET 首字母缩写,OWIN 定义了 Web 服务器和应用程序组件之间的交互的规范(specifications); OWIN 在 .NET Web 服务器和 .NET Web 应用之间定义了一套标准的接口,其目的是为了实现服务器与应用之间的解耦。由于这一规范的目的是发展一个广阔且充满活力的、基于 Microsoft .NET Framework 的 Web 服务器和应用程序组件生态系统,因此它可以将服务器与应用程序之间的交互减少到一小部分类型和单个函数签名,这个函数签名被称为应用程序委托(即 AppFunc)

using AppFunc = Func< IDictionary<string, object>, Task>;

Owin定义规范

  • 服务器 (Server)

    HTTP 服务器直接与客户端交互, 并用 OWIN 语义处理请求, 服务器需要一个适配层将客户请求转换成 OWIN 语义。 支持 OWIN 的服务器有 KatanaNowin

  • Web 框架 (Web Framework)

    构建在 OWIN 之上的自包含的独立组件, 向 Web 应用提供可用的对象模型或者接口。 Web 框架可能需要一个适配层来转换 OWIN 语义。 支持 OWIN 的 Web 框架有:

  • Nancy
  • SignalR
  • WebApi
  • FubuMVC
  • Simple.Web
  • DuoVia.Http
  • Web 应用 (Web Application)

    一个特定的 Web 应用, 通常构建在 Web 框架之上, 使用 OWIN 兼容的服务器运行。

  • 中间件 (Middleware)

    特定的目的的服务器和应用之间的可插拔组件, 可以监视、 路由、 修改请求与响应。

  • 宿主 (Host)

    应用与服务器所在的进程, 主要负责应用的启动, 有些服务器自身也是宿主, 比如 Nowin 。

Katana

Katana 是 OWIN 规范定义实现的一个组件和框架集合,可以按其中每个层都能够轻松替代的方式来解耦;OWIN 与 Katana 是 ASP.NET 5 之前东西,关于 host, server,middleware 相关实现的源码可以在github上找到(https://github.com/aspnet/AspNetKatana),之前实现的 OAuth 2.0 认证授权 也都是基于 Microsoft.Owin.Security.OAuth 来实现的,不过现在 MS 已经不更新新的功能了(常规 fix bug); ASP.NET Core 是支持 OWIN 定义的实现的,也就是 ASP.NET Core 重新设计的 HttpAbstractions 子集,定义在 Microsoft.AspNetCore.Owin 包中。

KatanaASP.NET Core 对应关系

Many of the components, features, and models of Katana are now part of the ASP.NET Core project on GitHub. See https://github.com/aspnet/home for details. We still plan to release updates to Katana itself to address common problems and keeping it up-to-date.

Here is a list of Katana components and where you can find their ASP.NET Core counterparts:

ASP.NET 5 与 ASP.NET Core 1.0

如果还不晓得ASP.NET Next 与.NET Core是什么,可以先补充下知识

魅力 .NET:从 Mono、.NET Core 说起

vNext之旅(1):从概念和基础开始

今天看到了 ASP.NET 5 is dead - Introducing ASP.NET Core 1.0 and .NET Core 1.0 ,虽然只是改名字,但是觉得微软这次对.NET与 ASP.NET设计的非常好,之前命名的名词与版本号确实太多总是感觉怪怪的[ASP.NET vNext => ASP.NET 5 => ASP.NET Core 1.0],晚上查了查相关文章,大致了解一下。之前偶尔https://docs.asp.net/en/latest/上面的文档,以及http://www.asp.net/ 时常还有 ASP.NET vNext的影子,现在已经没有了,按照线路图的发展,估计在2016年3月份会RTM[时间暂定了]。

重新命名版本号

重新引入

CLI在MAC下安装也很简单,下载包NEXT即可,现还没有CentOS的包。

ASP.NET Core 下有哪些包

https://docs.microsoft.com/zh-cn/aspnet/core/api/#namespaces-in-the-aspnet-core-class-library

REFER:
owin
http://owin.org/
Katana
https://github.com/aspnet/AspNetKatana
ASP.NET Core Schedule and Roadmap
https://github.com/aspnet/home/wiki/roadmap/
ASP.NET Core doc
https://docs.microsoft.com/zh-cn/aspnet/core/
Katana 项目入门
https://msdn.microsoft.com/zh-cn/magazine/dn451439.aspx
Exploring the new .NET "dotnet" Command Line Interface (CLI)
http://www.hanselman.com/blog/ExploringTheNewNETDotnetCommandLineInterfaceCLI.aspx
Announcing ASP.NET 5 Release Candidate 1
http://blogs.msdn.com/b/webdev/archive/2015/11/18/announcing-asp-net-5-release-candidate-1.aspx
ASP.NET 5 and .NET Core RC1 in context (Plus all the Connect 2015 News)
http://www.hanselman.com/blog/ASPNET5AndNETCoreRC1InContextPlusAllTheConnect2015News.aspx
ASP.NET 5 已终结,迎来 ASP.NET Core 1.0 和 .NET Core 1.0
http://www.oschina.net/news/70049/aspnet5-is-dead-introducing-aspnet-core-1-0-and-netcore-1-0

ASP.NET Core 与 .NET Core 演变与基础概述的更多相关文章

  1. asp.net core + mysql + ef core + linux

    asp.net core + mysql + ef core + linux 以前开发网站是针对windows平台,在iis上部署.由于这次需求的目标服务器是linux系统,就尝试用跨平台的.NET ...

  2. 003.ASP.NET Core tutorials--【Asp.net core 教程】

    ASP.NET Core tutorials Asp.net core 教程 2016-10-14 1 分钟阅读时长 本文内容 1.Building web applications 构建web应用 ...

  3. Asp.net Core中SignalR Core预览版的一些新特性前瞻,附源码(消息订阅与发送二进制数据)

    目录 SignalR系列目录(注意,是ASP.NET的目录.不是Core的) 前言 一晃一个月又过去了,上个月有个比较大的项目要验收上线.所以忙的脚不沾地.现在终于可以忙里偷闲,写一篇关于Signal ...

  4. ABP 教程文档 1-1 手把手引进门之 ASP.NET Core & Entity Framework Core(官方教程翻译版 版本3.2.5)

    本文是ABP官方文档翻译版,翻译基于 3.2.5 版本 官方文档分四部分 一. 教程文档 二.ABP 框架 三.zero 模块 四.其他(中文翻译资源) 本篇是第一部分的第一篇. 第一部分分三篇 1- ...

  5. ABP CORE 框架入门视频教程《电话薄》基于 Asp.NET Core2.0 EF Core

    ABP框架简介 ABP是"ASP.NET Boilerplate Project (ASP.NET样板项目)"的简称. ASP.NET Boilerplate是一个用最佳实践和流行 ...

  6. ASP.net core 使用UEditor.Core 实现 ueditor 上传功能

    ASP.net core 使用UEditor.Core 实现 ueditor 上传功能 首先通过nuget 引用UEditor.Core,作者github:https://github.com/bai ...

  7. ASP.NET Core 入门教程 8、ASP.NET Core + Entity Framework Core 数据访问入门

    一.前言 1.本教程主要内容 ASP.NET Core MVC 集成 EF Core 介绍&操作步骤 ASP.NET Core MVC 使用 EF Core + Linq to Entity ...

  8. 【ASP.NET Core】EF Core - “影子属性” 深入浅出经典面试题:从浏览器中输入URL到页面加载发生了什么 - Part 1

    [ASP.NET Core]EF Core - “影子属性”   有朋友说老周近来博客更新较慢,确实有些慢,因为有些 bug 要研究,另外就是老周把部分内容转到直播上面,所以写博客的内容减少了一点. ...

  9. ASP.NET Core and .NET Core Library Support

    ASP.NET Core and .NET Core Library Support 详情参见:https://github.com/linezero/NETCoreLibrary/blob/mast ...

随机推荐

  1. highChart图表

    Highcharts 是一个用纯JavaScript编写的一个图表库, 能够很简单便捷的在web网站或是web应用程序添加有交互性的图表,并且免费提供给个人学习.个人网站和非商业用途使用.HighCh ...

  2. 怎么让挨着的两input之间没有空隙?

    问题:在写选项卡的时候,用input做点击事件的切换时,两个input之间会有空隙,使用margin/padding为0或者为负数依旧如此  → 解决:我脑慢的最后才想到是空格影响的,呵呵呵.

  3. centos 7 安装 python3.6 python3 安装步骤以及pip pip3安装挂载

    首先去python官网下载python3的源码包,网址:https://www.python.org/ 或者直接wget下载 wget https://www.python.org/ftp/pytho ...

  4. Mathtype批量修改公式

    (1)将模板中的公式直接打开 (2)将需要修改好的公式复制黏贴到模板中 (3)再复制黏贴出,即可 PS: (1)统一设置公式格式 (2)统一设置公式大小

  5. VIP之MixerII

    1.VIP Mixer IIMixerII的每一个输入通道都必须通过Frame Buffer来或者Frame Reader驱动,才能保证数据在正确的时间送入到MixerII中.Downscale不能把 ...

  6. PHP与Python哪个做网站产品好?

    虽然python现在比较火,但在传统的LAMP组合里Linux+apache/tomcat+MySql+PHP里是PHP做网站的脚本语言,但现在已经变了:https://baike.baidu.com ...

  7. spring的bean在什么时候被实例化

    Spring什么时候实例化bean,首先要分2种情况   第一:如果你使用BeanFactory作为Spring Bean的工厂类,则所有的bean都是在第一次使用该Bean的时候实例化   第二:如 ...

  8. Hdu 1009 FatMouse' Trade 2016-05-05 23:02 86人阅读 评论(0) 收藏

    FatMouse' Trade Time Limit: 2000/1000 MS (Java/Others) Memory Limit: 65536/32768 K (Java/Others) Tot ...

  9. poj 2352 stars 【树状数组】

    题目 题意:按y递增的顺序给出n颗星星的坐标(y相等则x递增),每个星星的等级等于在它左边且在它下边(包括水平和垂直方向)的星星的数量,求出等级为0到n-1的星星分别有多少个. 因为y递增的顺序给出, ...

  10. hive 实现类似 contain 包含查询

    如何用hive sql 实现 contain 查询? 需求:判断某个字符串是否在另一个字符串中? 方法: 可以自定义函数,但是用正则匹配regexp更方便 代码如下: 首先,查看regexp正则函数的 ...