使用 OWIN Self-Host ASP.NET Web API 2-阿里云开发者社区

开发者社区> 开发与运维> 正文

使用 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





本文转自 张善友 51CTO博客,原文链接:http://blog.51cto.com/shanyou/1391873,如需转载请自行联系原作者

版权声明:本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《阿里云开发者社区用户服务协议》和《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。

分享:
开发与运维
使用钉钉扫一扫加入圈子
+ 订阅

集结各类场景实战经验,助你开发运维畅行无忧

其他文章