zoukankan      html  css  js  c++  java
  • ASP.NET MVC Owin 基本理解

    一、OWIN  

      OWIN(Open Web Interface for .Net),定义了一个服务器(IIS)和Web应用程序(MVC,Webform)通信的标准接口,并且通过抽象层使得这两个在微软平台结合紧密的组件彼此解耦。通过将Web服务器从应用程序解耦,使得为.NET Web开发创建中间件和移植Web应用程序到其他托管——比如,Window服务或其他进程的自我托管——变得更加容易,使得便携式 .NET Web 应用以及跨平台的愿望成为现实, 标准的 OWIN 应用可以在任何 OWIN 兼容的服务器上运行, 不再依赖与 Windows 和 IIS ,没有 Windows , 更没有 IIS , OWIN 应用就能正常运行。

      主要包括以下组件:

      服务器 (Server)

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

           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

      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(静态文件访问模块)

      这些OWIN 组件都是通过通过 NuGet 包的形式发布,与.NET框架版本分离,不出现在添加引用的界面内。

      另外,OWIN的实现还有 Freya、ASP.NET vNext。

  • 相关阅读:
    Fluent动网格【8】:网格节点运动案例
    Fluent动网格【7】:网格节点运动
    Fluent动网格【6】:部件变形案例
    Fluent动网格【5】:部件变形
    Fluent动网格【4】:DEFINE_CG_MOTION宏实例
    Fluent动网格【3】:DEFINE_CG_MOTION宏
    Fluent动网格【1】:概述
    Fluent动网格【2】:Profile文件
    JavaScript系列--浅析原型链与继承
    简单说说JavaScript的Generator 实现(ES6)
  • 原文地址:https://www.cnblogs.com/shawnhu/p/8392067.html
Copyright © 2011-2022 走看看