使用 OWIN 作为 ASP.NET Web API 的宿主 ASP.NET Web API 是一种框架,用于轻松构建可以访问多种客户端(包括浏览器和移动 设备)的 HTTP 服务。...接下来使用 Xamarin Studio 创建一个 OWIN 兼容的 C# 类库, 也就是 OWIN 中定义的“应 用 (Application)” , 然后在不同的 OWIN 服务器/宿主上运行。...Nowin 社区版 OWIN 服务器, 纯 C# 实现, 可以运行在 .NET 和 Mono 运行。...使用 Katana 服务器运行 在 Katana 下运行 OWIN 应用是很容易的, 新建一个命令行程序项目, 项目名称为: Owin02_WebApi_Katana , 然后向项目中添加下面的 NuGet...新建一个 C# 命令行程序, 项目名称为 Owin02_WebApi_Nowin , 添加下面的 NuGet 包: Microsoft.Owin Nowin Owin 向 Program.cs 文件中的
支持 OWIN 的 Web 框架有: Nancy SignalR WebApi FubuMVC Simple.Web DuoVia.Http Web 应用 (Web Application) 一个特定的...中间件 (Middleware) 特定的目的的服务器和应用之间的可插拔组件, 可以监视、 路由、 修改请求与响应。...为什么使用 OWIN 正如上面所说, OWIN 定义了 .NET Web 服务器与 .NET Web 应用之间的标准接口, 将应用与服务器 解耦, 使得便携式 .NET Web 应用以及跨平台的愿望成为现实...怎么使用 OWIN OWIN 通过 NuGet 包的形式发布, 获取和使用都非常方便。...下面就先建立一个最简单的 OWIN 应用: 打开 Xamarin Studio, 新建一个 C# 命令行程序, 如下图所示: ?
带着你的Net飞奔吧!...他会自动继承apiContrller,定义几个常见的方法(请求) 方法可以有重载,方法体里面和C#代码差不多,原来怎么写还怎么写 ?...这个是最基本的使用方法 有人会问了,web程序怎么访问呢?...新增一个Owin的Startup类,类似于我们传统项目的Global文件 ? 配置一下webapi,可以参考传统webapi里面的"路由" ? 添加一个控制器的文件夹,并添加一个类 ?...在main方面里面启动owin host ?
Open Web Interface for .NET (OWIN)在Web服务器和Web应用程序之间建立一个抽象层。...使用OWIN 自宿主 ASP.NET WebAPI 2可以参考以下2篇文章: Use OWIN to Self-Host ASP.NET Web API 2 Asp.Net Web API 2第十课—...—使用OWIN自承载Web API 我们看下配置代码: using Owin; using System; using System.Collections.Generic; using System.Linq...UseWebApi 方法通过 ASP.NET Web API 框架 动态的将配置添加到 IAppBuilder。...ASP.NET Web API 仍然使用现有的 HttpConfiguration 类来定义路由等。另外说明下,通过OWIN宿主ASP.NET WebAPI还可以完美的兼容Mono 3哦。
- -, OWIN呃,这里我就不解释了,自己也是一知半解,可以参考 Open Web Interface for .NET 我们开始吧... 首先看看结果.....正文开始 首先我们创建一个空的Web项目: 创建完成后,里面是什么都没有的,然后我们添加一个OWIN启动类如下: 在我们的Start UP中编写代码如下(解释我就写在注释里了..): using System...Web API 2 OWIN Self-Host 我们打开NuGet控制台..输入命令:Install-Package Microsoft.AspNet.WebApi.OwinSelfHost 等待下载和安装完毕即可...System.Linq; using System.Net; using System.Net.Http; using System.Web.Http; namespace OWIN_Test.Controller...写在最后 在Web项目中直接创建webapi的项目其实可以很快的达到效果,..个人不是很喜欢自带的Webapi模版感觉很蛋疼加了很多用不着的东西,采用OWIN当宿主可以将项目架设在服务,控制台等,当然~
Owin介绍看上篇 链接 OWIN将多种应用框架使用统一的接口来实现各框架之间的适配! 新建控制台项目 ? image.png ?...新建普通控制台项目,框架类型最好选择.NET Framework4.6,为了下一篇的内容做铺垫。...添加Nuget包 安装OWIN自宿主的包包 1、通过程序包管理器控制台 Install-Package Microsoft.AspNet.WebApi.OwinSelfHost 2、通过Nuget...IAppBuilder app) { HttpConfiguration config = new HttpConfiguration(); //配置路由...LinkID=316888 } } 添加几个测试用的Controller 其实就是webapi或者webmvc里的controller,这里以webapi为例说明 public
OWIN是什么? OWIN的英文全称是Open Web Interface for .NET。 如果仅从名称上解析,可以得出这样的信息:OWIN是针对.NET平台的开放Web接口。...【进一步的理解】 OWIN是对ASP.NET Runtime的抽象。 ASP.NET 5.0是OWIN的一种实现。 通过下面几张图可以更直观地理解: ? ?...我们也可以打开NuGet控制台..输入命令:Install-Package Microsoft.AspNet.WebApi.OwinSelfHost 然后我们再添加一个OWIN启动类名为Startup...跨平台 通过OWIN宿主ASP.NET WebAPI还可以完美的兼容Mono 3 及以上版本。 下面我们就来看看一下运行在linux下。首先大家要安装好 mono。...将OWIN 启动绑定改为绑定所有地址,然后编译。
本篇主要介绍下Net限流框架WebApiThrottle的使用。 WebApiThrottle是一个专门为webApi限制请求频率而设计的,支持寄宿OWIN上的中间件的限制过滤。...服务端接口可以基于客户端请求IP地址、客户端请求key、及请求路由去限制webapi接口的访问频率。...上的WebApi,上面的CacheRepository必须替换成运行时的MemoryCacheRepository类,因为CacheRepository使用的是Asp.net版本的缓存。...ASP.NET版本的cache、自寄宿在Owin上使用运行时版本的缓存MemoryCache。...在启动时注册ThrottlingHandler对象,并在构造函数中传入PolicyCacheRepository ,如果你是通过Owin自寄宿的webapi,需要使用PolicyMemoryCacheRepository
、序列化反序列化(ISerializable)、反射动态调用dll、反射动态配置扩展 常用类 IO类、Json.NET、Http辅助类(HttpClient、Restsharp、WebClient、WebRequest...ASP.NET Mvc框架 Routing路由 Binding模型绑定 new ChildActionValueProviderFactory(), new FormValueProviderFactory...OWIN的实现:Katana(由微软早期开发的开源OWIN组件集合) OWIN Layer(定义的一系列层) Application(应用程序) Middleware(中间件) Nanacy.Owin...WebApi Signalr FubuMVC Simple.Web DuoVia.Http ......Server(服务) Microsoft.Owin.Host.SystemWeb Microsoft.Owin.Host.HttpListener Helios (Asp.Net5以后就是Microsoft.AspNet
我假定读者是使用Asp.Net,并需要搭建OAuth2.0服务器,对于涉及的Asp.Net Identity(Claims Based Authentication)、Owin、OAuth2.0等知识点已有基本了解...若不了解,请先参考以下文章: MVC5 - ASP.NET Identity登录原理 - Claims-based认证和OWIN 下一代Asp.net开发规范OWIN(1)—— OWIN产生的背景以及简单介绍....WebApi 提供API资源 ASP.NET Web API+OWIN 3 客户端 Demo.OAuth2.ConsoleTest 控制台测试程序,测试令牌申请等功能 Demo.OAuth2.WinFormTest...Microsoft.Owin.Security.OAuth Microsoft.Owin.Security.Cookies 然后在项目根目录下添加一个OWin的启动类 Startup: using Microsoft.Owin...3.7,接入第三方OAuth2.0资源服务器 前面的例子中,我们使用ASP.NET WebAPI作为OAuth2.0的资源服务器,它可以很方便的调用我们的AuthenticationHandler 拦截器来处理
引用 寄宿ASP.NET Web API 不一定需要IIS 的支持,我们可以采用Self Host 的方式使用任意类型的应用程序(控制台、Windows Forms 应用、WPF 应用甚至是Windows...一、摘要 本期同样带给大家分享的是阿笨在实际工作中遇到的真实业务场景,请跟随阿笨的视角去如何实现采用微软的ASP.NET OWIN技术承载WebAPI服务,如果您对本期的教程内容感兴趣,那么请允许让阿笨带着大家一起学习吧...4.4、实现WEB应用程序的Self-Host解决方案 通过HttpListener实现简单的Http服务(.NET 2.0+) 基于WCF堆栈的自宿主SelfHosting 采用ASP.NET...HttpSelfHost来承载WebAPI服务 (.NET 4.0+) 采用ASP.NET OWIN来承载WebAPI服务(.NET4.5微软推荐使用) 等等.........五、涉及覆盖的知识点 ASP.NET WebAPI HttpSelfHost/OWIN 如何以桌面应用程序方式,宿主承载WebApi服务; ASP.NET WebAPI HttpSelfHost/OWIN
五、使用owin来实现密码模式 owin集成了OAuth2.0的实现,所以在webapi中使用owin来打造authorization无疑是最简单最方便的方案。...新建webApi项目 安装Nuget package: Microsoft.AspNet.WebApi.Owin Microsoft.Owin.Host.SystemWeb 增加owin的入口类:Startup.cs...在webApi中使用owin来实现OAuth2.0是最简单的解决方案,另外一个方案是使用DotNetOpenOauth,这个方案的实现稍显复杂,可用的文档也较少,源码中带有几个例子我也没有直接跑起来,最后无奈之下几乎读完了整个源码才理解...所有的代码都同步更新在 https://git.oschina.net/richieyangs/OAuthPractice.git 使用OAuth打造webapi认证服务供自己的客户端使用(二) 参考:...-2-owin-asp-net-identity/
ASP.NET Core WebApi 创建项目 使用VS新建项目,选择ASP.NET Core WebAPI即可。...WebApi采用RestFull请求方式,对于Controller,需要使用Route特性配置路由;Controller中的Action则通过Http特性进行配置。...[Route("api/[controller]")] public class TodoController : Controller { } 上面代码中的Route配置使用了通配符[controller...由于WebApi没有Web页面,所以需要使用PostMan进行请求。 发布和部署 生成的文件包含程序用到的所有dll和静态资源,发布到制定目录后,在命令行启动程序。...ASP.NET Core使用Kestrel作为Web服务器运行,可以与IIS、Apache、Nginx等反向代理服务器结合使用。
最后将补充Owin、IOC、EnterpriseLibrary等相关知识,这些也都是.NET程序员比较容易忽视的知识点,这些知识在快速搭建Solution上有很大的帮助。 ?...服务端首先检验该ticket是否已经被使用,若被使用,直接返回成功;若未被使用,则进行相应扣款操作。...在Owin中,将不再使用ASP.NET管道处理请求,而是使用Owin管道来处理请求,其通过一个Dictionary来传递上下文信息,其信息如下表所示。...1 Owin" version="1.0" targetFramework="net451"/> 2 Owin" version=...="net451"/> 4 Owin.Security" version="1.0" targetFramework="net451"/> 5 <package
Global.asax 文件替换 ASP.NET Core 引入了启动应用的新机制。 ASP.NET 应用程序的入口点是 Global.asax 文件。...为了将它们分离,引入了 OWIN 来提供一种更为简便的同时使用多个框架的方法。 OWIN 提供了一个管道,可以只添加所需的模块。 托管环境使用 Startup 函数配置服务和应用的请求管道。...结合使用 OWIN 和 .NET Framework 时,使用的管道应如下所示:using Owinusing System.Web.Http; namespace WebApi { //...//关闭此选项后,通过在RouteTable.routes上使用MapOwinPath或MapOwinRoute扩展在global.asax文件中添加路由,您仍然可以让OWIN应用监听特定路由...ASP.NET Core 使用相似的方法,但是不依赖 OWIN 处理条目。 而是通过 Program.cs Main 方法(类似于控制台应用程序)来完成,并且 Startup 会通过该处进行加载。
Centos5.5安装MONO2.10.8和Jexus 5.0开启Linux平台.net应用新篇章 mono和monodevelop源码编译安装 利用Mono.Cecil动态修改程序集来破解商业组件(...通过Mono 在 Heroku 上运行 .NET 应用 腾讯云 安装mono CentOS Mono Nginx 部署 MVC4+WebApi Xamarin中使用DatePickerDialog的相关问题...CentOS6.x生产环境下一键安装mono+jexus的脚本,自启动,带服务,版本号自控 开始mono开发 我将系统从Windows迁移至Linux下的点点滴滴 Run Asp.Net MVC 4...Mac OS X上编写 ASP.NET vNext(一)KRE环境搭建 Mac OS X 上编写 ASP.NET vNext (二) IDE配置 OWIN 初探 使用 OWIN 作为 ASP.NET Web...ASP.NET Linux部署(2) - MS Owin + WebApi + Mono + Jexus dotNET跨平台相关文档整理 阿里云Ubuntu14.04配置Mono+Jexus .NET开源进行时
使用 OWIN 搭建 OAuth2 服务器 关于 OAuth 维基百科中对 OAuth 的描述如下: OAuth(开放授权)是一个开放标准,允许用户让第三方应用访问该用户在某一网站上存储的私密的资源(...使用 OWIN 搭建 OAuth2 认证服务器 认证服务器指 authorization server , 负责在资源所有者 (最终用户) 通过认证之后, 向客户端应用颁发凭据 (code) 和对客户端授权...Microsoft.AspNet.Mvc 打开项目属性, 设置项目使用 IIS Express , 虚拟目录为 /OWin04_OAuthServer , 如下图所示: ?...CookieAuthenticationOptions 来启用 Cookie 认证中间件, 这个中间件有点儿类似于 Asp.Net 的表单认证 (FormsAuthentication) , 点击这里查看...Microsoft.Owin.Security.OAuth Microsoft.AspNet.WebApi.Owin Microsoft.AspNet.WebApi.Core Microsoft.AspNet.WebApi.Client
ABP模板项目中默认创建了webapi项目,其动态webapi技术允许我们直接访问appservice作为webapi而不用在webapi层编写额外的代码。...然后使用token即可请求目标webapi。 但这其中有一个问题就是,如果token过期,就必须使用用户名密码重写申请token,体验不好。 3.1....使用token访问webapi 有了token,访问webapi就很简单了。...本文主要参考自以下文章: 使用OAuth打造webapi认证服务供自己的客户端使用 ABP中使用OAuth2(Resource Owner Password Credentials Grant模式)...Token Based Authentication using ASP.NET Web API 2, Owin, and Identity
一.WebApi处理架构: 我们在学习Asp.Net WebApi时,应该对Asp.Net WebApi的内部运行机制有一个大致的了解,很多人说了解这些基本原理的意义不大,实际开发中应用不到而且还浪费时间...(2).Web托管,即在IIS之上使用ASP.NET管道进行托管。...(3).OWIN托管。...(在一个owin兼容的服务器上建立一个webapi层) 在使用web托管时,所使用的是ASP.NET的管道和路由功能,将HTTP请求转发到一个新的ASP.NET处理程序,HttpControllerHandler...五.总结: 本文分为上下两篇,简单的介绍类一下Asp.Net WebApi的一些核心对象,并简单介绍了Asp.Net WebApi路由机制,处理架构,托管方式等等,如有不足和错误之处还望多多指正。
领取专属 10元无门槛券
手把手带您无忧上云