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跨平台相关的知识有个了解,到时候接触起来会更快.
谢谢大家,不足之处多多谅解.欢迎指出错误.