使用 OWIN Self-Host ASP.NET Web API 2


Open Web Interface for .NET (OWIN)在Web服務器和Web應用程序之間建立一個抽象層。OWIN將網頁應用程序從網頁服務器分離出來,然后將應用程序托管於OWIN的程序而離開IIS之外,關於OWIN的詳細資料可參考博客 MVC5 - ASP.NET Identity登錄原理 - Claims-based認證和OWIN。使用OWIN 自宿主 ASP.NET WebAPI 2可以參考以下2篇文章:

  1. Use OWIN to Self-Host ASP.NET Web API 2
  2. Asp.Net Web API 2第十課——使用OWIN自承載Web API

我們看下配置代碼:

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 框架 動態的將配置添加到 IAppBuilder。當調用 UseWebApi 時,ASP.NET Web API 中間件組件被添加到OWIN管道中用所提供的 HTTPConfiguration 對象。

ASP.NET Web API 仍然使用現有的 HttpConfiguration 類來定義路由等。另外說明下,通過OWIN宿主ASP.NET WebAPI還可以完美的兼容Mono 3哦。

 

Protecting a Self-Hosted API with Microsoft.Owin.Security.ActiveDirectory


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM