OWIN与Katana
OWIN与Katana详解
我胡汉三又回来了,!!!!,
最近忙成狗,实在没空写博文,实在对不起自己,博客园上逛了逛发现
我大微软还是很给力的
asp.net core 1.0
.net core 1.0
即将发布,虽然..推迟了发布日期(有点蛋疼..)
有人说,步子太大 扯到蛋了,各种褒贬不一,其实我觉得,未尝不是件好事,毕竟提前修复总比发布之后各种问题要好的多..
在新的库发布之前,我们还是需要了解很多东西的,比如今天要说的OWIN和Katana
我们首先来说说OWIN,很多人并不了解这是什么,先解释一下字面的意思:
OWIN(Open Web Interface for .Net),这是一个由开源社区发起的开放规则,这个规则定义了一个服务器(IIS)和Web应用程序(MVC,Webform)通信的标准接口,并且通过抽象层使得这两个在微软平台结合紧密的玩意彼此独立(解耦).
很明显了,OWIN说白了 其实就是定义了一个包含标准化的词典值的上下文(比如:HttpContext,不知道恰不恰当),服务器把这个上下文发送给应用程序,应用程序也采用相同的方式将结果返回给主机的进程.
标准的OWIN解决方案的架构图如下:

这样大家可能看不懂 - -,拿已经发布了并且实现OWIN的SignalR来说举例子吧..如下图:

那么katana是什么呢..接下来我们来看看katana
上面我们说了,OWIN是一组规范,并没有具体的实现,那么这个katana就是微软对OWIN规则的一组实现了.
他包含了兼容ASP.NET的Microsoft.Owin.Host.System.Web还有自托管的环境(控制台,服务)的Microsoft.Owin.Host.HttpListenter 监听
还有很多的中间件模块主要有:
Microsoft.Owin.Compression(压缩模块)
Microsoft.Owin.Cors(跨源资源共享模块)
Microsoft.Owin.Security.*(安全模块)
Microsoft.Owin.StaiticFiles(静态文件访问模块)
当然 - -,剩下的..各位就自行去了解吧..
而且katana还在逐渐的增强当中....
说这么多的目的,其实就是在asp.net core 1.0 和.net core 1.0出来之前 对.NET跨平台相关的知识有个了解,到时候接触起来会更快.
谢谢大家,不足之处多多谅解.欢迎指出错误.
OWIN与Katana的更多相关文章
- OWIN与Katana详解
前言 我胡汉三又回来了,!!!!, 最近忙成狗,实在没空写博文,实在对不起自己,博客园上逛了逛发现 我大微软还是很给力的 asp.net core 1.0 .net core 1.0 即将发布,虽然. ...
- Getting Started with OWIN and Katana(Console 代替iis 制作 web服务的简单方案)
Open Web Interface for .NET (OWIN) defines an abstraction between .NET web servers and web applicati ...
- OWIN and Katana
OWIN(Open Web Interface for .NET)是在.net的web server和web应用之间定义了一套规范. Katana是微软实现了OWIN的一个Web Server的项 ...
- owin 中间件 katana 如何解密cookie
.NET MVC5 默认的用户登录组件是AspNet.Identity ,支持owin,并且微软自己实现的一套owin 中间件叫 katana 补充一下 katana项目源码地址:https://ka ...
- OWIN and Katana - 1
翻译自 http://www.asp.net/aspnet/overview/owin-and-katana/an-overview-of-project-katana 十多年来,基于ASP.NET框 ...
- ASP.NET MVC5 学习笔记-4 OWIN和Katana
1. Owin OWIN全名:Open Web Interface for .NET. 它是一个说明,而非一个框架,该声明用来实现Web服务器和框架的松耦合.它提供了模块化.轻量级和便携的设计.类似N ...
- VS2012 Getting Started with Owin and Katana
参考地址:http://www.asp.net/aspnet/overview/owin-and-katana/getting-started-with-owin-and-katana 小提示: 该示 ...
- 下一代Asp.net开发规范OWIN(2)—— Katana介绍以及使用
接上篇OWIN产生的背景以及简单介绍,在了解了OWIN规范的来龙去脉后,接下来看一下Katana这个OWIN规范的实现,并看看如何使用在我们的Web开发中. 阅读目录: 一. Katana项目的结构和 ...
- Katana 还是Owin ? 本地自承载
使用Owin 将Web项目脱离 IIS确实很特别..... 由此 ,可以衍生出,一个新的通信渠道,本地Server的自承载. 1 Node.js 2 Python 3 Ruby 4 Owin (C#- ...
随机推荐
- 对TMemoryStream的一些改进(用到了LockFile)
对TMemoryStream的一些改进 怎么又是关于Stream的,呵呵,应该说只是最近比较关心程序的效率问题,而我对Stream其实并没有什么特别的研究,只是自己发现了一些新的用法,希望能对大家有用 ...
- Windows调试工具入门—1
NetRoc http://www.DbgTech.net 引子 Debugging Tools for Windows是微软发布的一套用于软件调试的工具包(后面如果没有指明,那么我会使用WinDbg ...
- 名字修饰约定extern "C"与extern "C++"浅析
所谓名字修饰约定,就是指变量名.函数名等经过编译后重新输出名称的规则. 比如源代码中函数名称为int Func(int a,int b),经过编译后名称可能为?Func@@YAHHH@Z.?Func@ ...
- android: WheelView组件(滑轮组件)的应用!
android前段组件中, 填表单,选择条目 的样式有很多, WheelView滚动组件为其中一种,如下图所示: 前两 ...
- js中substring或split方法取得URL中的域名
1.split方式 <html> <head></head> <body onload="convertTemp()"> <s ...
- Qt中提高sqlite的读写速度(使用事务一次性写入100万条数据)
SQLite数据库本质上来讲就是一个磁盘上的文件,所以一切的数据库操作其实都会转化为对文件的操作,而频繁的文件操作将会是一个很好时的过程,会极大地影响数据库存取的速度.例如:向数据库中插入100万条数 ...
- Java Thread.join()详解(转)
(1)join方法是可以中断的(2)在线程joiner在另一个线程t上调用t.join(),线程joiner将被挂起,直到线程t结束(即t.isAlive()返回为false)才恢复 package ...
- [置顶] 页面缓存,cache,设置缓存过期时间,OutputCache
页面缓存 方法一: protected void Page_Load(object sender, EventArgs e) { if (!IsPostBack) { //缓存有数据 if (Cach ...
- C++ Primer中文版(第5版)
<C++ Primer中文版(第5版)> 基本信息 作者: (美)Stanley B. Lippman(斯坦利 李普曼) Josee Lajoie(约瑟 拉乔伊) Barbar ...
- 字典实体类:DictionaryEntry类
DictionaryEntry类是一个字典集合,主要包括的内容是键/值对.这样的组合方式能够方便地定位数据,当中的"键"具备唯一性,类似于数据库中的"id",一 ...