Open Web Interface for .NET (OWIN)在Web服務器和Web應用程序之間建立一個抽象層。OWIN將網(wǎng)頁應用程序從網(wǎng)頁服務器分離出來,然后將應用程序托管于OWIN的程序而離開IIS之外,關于OWIN的詳細資料可參考博客 MVC5 - ASP.NET Identity登錄原理 - Claims-based認證和OWIN。使用OWIN 自宿主 ASP.NET WebAPI 2可以參考以下2篇文章:
成都創(chuàng)新互聯(lián)-專業(yè)網(wǎng)站定制、快速模板網(wǎng)站建設、高性價比康平網(wǎng)站開發(fā)、企業(yè)建站全套包干低至880元,成熟完善的模板庫,直接使用。一站式康平網(wǎng)站制作公司更省心,省錢,快速模板網(wǎng)站建設找我們,業(yè)務覆蓋康平地區(qū)。費用合理售后完善,10年實體公司更值得信賴。
我們看下配置代碼:
using Owin; using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.Threading.Tasks; using System.Web.Http; namespace OWinSelfHost { public class Startup { public void Configuration(IAppBuilder appBuilder) { // Configure Web API for self-host. HttpConfiguration config = new HttpConfiguration(); config.Routes.MapHttpRoute( name: "DefaultApi", routeTemplate: "api/{controller}/{id}", defaults: new { id = RouteParameter.Optional } ); appBuilder.UseWebApi(config); } } }
每個OWIN應用程序都需要一個Startup類作為OWIN管道中的配置類,ASP.NET Web API OWIN Self Hosting 基于約定勝于配置來找到Startup的一個Configuration方法。 UseWebApi 方法通過 ASP.NET Web API 框架 動態(tài)的將配置添加到 IAppBuilder。當調(diào)用 UseWebApi 時,ASP.NET Web API 中間件組件被添加到OWIN管道中用所提供的 HTTPConfiguration 對象。
ASP.NET Web API 仍然使用現(xiàn)有的 HttpConfiguration 類來定義路由等。另外說明下,通過OWIN宿主ASP.NET WebAPI還可以完美的兼容Mono 3哦。
Protecting a Self-Hosted API with Microsoft.Owin.Security.ActiveDirectory