在线时间:8:00-16:00
迪恩网络APP
随时随地掌握行业动态
扫描二维码
关注迪恩网络微信公众号
今天投简历 准备面试了...
本节目录:
OWIN(Open Web Interface For .Net) OWIN是.Net开源社区借鉴Ruby而制定的.Net Web开发架构,有着非常简单的规范定义,目标是用于解耦Web Server和Web Application.
ASP.NET的局限性 ASP.NET核心是System.Web,而System.Web紧耦合IIS.IIS绑定在Windows OS上,所以ASP.NET 无法跨平台. System.Web是.NET Framework重要组成,所以System.Web更新需要等待.NET的发布
OWIN定义了4层: 2 Host:主要负责应用程序的配置和启动进程,包括初始化OWIN Pipeline、运行Server。 Server:绑定套接字并监听的HTTP请求然后将Request和Response的Body、Header封装成符合OWIN规范的字典并发送到OWIN Middleware Pipeline中 Middleware:称之为中间件、组件,位于Server与Application之间,用来处理发送到Pipeline中的请求 Application:这是具体的应用程序代码,只不过我们将他们注册到OWIN Pipeline中去处理HTTP 请求,成为OWIN管道的一部分
OWIN接口 Func<IDictionary<string, object>, Task>; 用于Server和Middleware的交互。他并不是严格意义上的接口,而是一个委托并且每个OWIN中间件组件必须提供。 其中参数类型为IDictionary<string,object>的变量为环境变量
微软引入并推广OWIN,同时依照OWIN规范,实现了Katana。
Host 宿主只是一个进程,是整个OWIN程序的载体。这个宿主可以是IIS, IIS Express, Console, Windows Service等。 Katana为我们提供了3中选择:
Server 负责绑定到 TCP 端口,监听端口发送过来的请求,同时将请求的信息依照OWIN规范,包装成字典格式,传递到下层的Middleware Katana对OWIN Server的实现分为如下几类:
Middleware 这是为组成 OWIN 管道中的组件。 Middleware可以理解为提供Func<IDictionary<string, object>, Task>接口的组件。 Katana提供了一个OwinMiddleware基类更加方便我们继承来实现OWIN Middleware.
Application 具体的代码实现,比如ASP.NET Web API、SignalR具体代码的实现。 事实上,对于这些类型的应用程序,Katana 组件只需使用一个小的配置类即可见。
IIS-Host 新建一个空的Web项目,Nuget引用Microsoft.Owin.Host.SystemWeb
创建Startup类
访问项目地址:http://localhost:xx
Self-Host 新建控制台项目,Nuget引用Microsoft.Owin.SelfHost Main方法
创建Startup类
访问地址:http://localhost:12345
OWIN-Host 新建类库项目,Nuget引用OwinHost
创建Startup类(需要程序集Owin和Microsoft.Owin)
OwinHost.exe 这里需要注意
所以我们将这OwinHost.exe3个文件移动到 => 另外将Debug或者Release文件夹下的文件移动到bin文件夹下
cmd运行OwinHost.exe 访问:http://localhost:5000/
Middleware非常类似于HttpModule,会注册到Owin的pipeline中执行代码.
继承OwinMiddleware
Startup
来看一下组件的执行顺序
浏览结果:
扩展 Startup类如何被关联 1.默认名称匹配
2.使用OwinStartup Attribute
3.在配置文件的appSetting 节点设置
Pipeline Owin的pipeline在IIS Host上本质是注册到Httpapplication的pipeline上. 如:app.UseStageMarker(PipelineStage.Authenticate);
本文参考: http://www.cnblogs.com/JustRun1983/p/3955238.html Katana:http://www.asp.net/aspnet/overview/owin-and-katana/an-overview-of-project-katana 本文版权归作者和博客园共有,欢迎转载,但未经作者同意必须保留此段声明,且在文章页面明显位置给出原文连接,否则保留追究法律责任的权利。 如果觉得还有帮助的话,可以点一下右下角的【推荐】,希望能够持续的为大家带来好的技术文章!想跟我一起进步么?那就【关注】我吧。
[13]ASP.NET
今天投简历 准备面试了...
本节目录:
OWIN(Open Web Interface For .Net) OWIN是.Net开源社区借鉴Ruby而制定的.Net Web开发架构,有着非常简单的规范定义,目标是用于解耦Web Server和Web Application.
ASP.NET的局限性 ASP.NET核心是System.Web,而System.Web紧耦合IIS.IIS绑定在Windows OS上,所以ASP.NET 无法跨平台. System.Web是.NET Framework重要组成,所以System.Web更新需要等待.NET的发布
OWIN定义了4层: 2 Host:主要负责应用程序的配置和启动进程,包括初始化OWIN Pipeline、运行Server。 Server:绑定套接字并监听的HTTP请求然后将Request和Response的Body、Header封装成符合OWIN规范的字典并发送到OWIN Middleware Pipeline中 Middleware:称之为中间件、组件,位于Server与Application之间,用来处理发送到Pipeline中的请求 Application:这是具体的应用程序代码,只不过我们将他们注册到OWIN Pipeline中去处理HTTP 请求,成为OWIN管道的一部分
OWIN接口 Func<IDictionary<string, object>, Task>; 用于Server和Middleware的交互。他并不是严格意义上的接口,而是一个委托并且每个OWIN中间件组件必须提供。 其中参数类型为IDictionary<string,object>的变量为环境变量
微软引入并推广OWIN,同时依照OWIN规范,实现了Katana。
Host 宿主只是一个进程,是整个OWIN程序的载体。这个宿主可以是IIS, IIS Express, Console, Windows Service等。 Katana为我们提供了3中选择:
Server 负责绑定到 TCP 端口,监听端口发送过来的请求,同时将请求的信息依照OWIN规范,包装成字典格式,传递到下层的Middleware Katana对OWIN Server的实现分为如下几类:
Middleware 这是为组成 OWIN 管道中的组件。 Middleware可以理解为提供Func<IDictionary<string, object>, Task>接口的组件。 Katana提供了一个OwinMiddleware基类更加方便我们继承来实现OWIN Middleware.
Application 具体的代码实现,比如ASP.NET Web API、SignalR具体代码的实现。 事实上,对于这些类型的应用程序,Katana 组件只需使用一个小的配置类即可见。
IIS-Host 新建一个空的Web项目,Nuget引用Microsoft.Owin.Host.SystemWeb
创建Startup类
访问项目地址:http://localhost:xx
Self-Host 新建控制台项目,Nuget引用Microsoft.Owin.SelfHost Main方法
创建Startup类
访问地址:http://localhost:12345
OWIN-Host 新建类库项目,Nuget引用OwinHost
创建Startup类(需要程序集Owin和Microsoft.Owin)
OwinHost.exe 这里需要注意
所以我们将这OwinHost.exe3个文件移动到 => 另外将Debug或者Release文件夹下的文件移动到bin文件夹下
cmd运行OwinHost.exe 访问:http://localhost:5000/
Middleware非常类似于HttpModule,会注册到Owin的pipeline中执行代码.
继承OwinMiddleware
Startup
来看一下组件的执行顺序
浏览结果:
扩展 Startup类如何被关联 1.默认名称匹配
2.使用OwinStartup Attribute
3.在配置文件的appSetting 节点设置
Pipeline Owin的pipeline在IIS Host上本质是注册到Httpapplication的pipeline上. 如:app.UseStageMarker(PipelineStage.Authenticate);
本文参考: http://www.cnblogs.com/JustRun1983/p/3955238.html Katana:http://www.asp.net/aspnet/overview/owin-and-katana/an-overview-of-project-katana |
2023-10-27
2022-08-15
2022-08-17
2022-09-23
2022-08-13
请发表评论