基于空项目模板创建使用Owin来host的WebApi项目

Posted HK Zhang

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了基于空项目模板创建使用Owin来host的WebApi项目相关的知识,希望对你有一定的参考价值。

首先创建一个空的web项目,如下图所示:

 

项目创建成功以后,安装下面三个package.

Install-Package Microsoft.AspNet.WebApi -Version 5.2.2
Install-Package Microsoft.AspNet.WebApi.Owin -Version 5.2.2
Install-Package Microsoft.Owin.Host.SystemWeb -Version 3.0.0

 

创建Owin Startup 类

 1 using System;
 2 using System.Threading.Tasks;
 3 using Microsoft.Owin;
 4 using Owin;
 5 using System.Web.Http;
 6 
 7 [assembly: OwinStartup(typeof(FirstOwinWebApi.Startup))]
 8 
 9 namespace FirstOwinWebApi
10 {
11     public class Startup
12     {
13         public void Configuration(IAppBuilder app)
14         {
15             HttpConfiguration config = new HttpConfiguration();
16 
17             // Web API routes
18             config.MapHttpAttributeRoutes();
19 
20             //WebApiConfig.Register(config);
21 
22             app.UseWebApi(config);
23         }
24     }
25 }


创建API Controller.

 1 using System;
 2 using System.Collections.Generic;
 3 using System.Linq;
 4 using System.Net;
 5 using System.Net.Http;
 6 using System.Web.Http;
 7 
 8 namespace FirstOwinWebApi.Controllers
 9 {
10     [RoutePrefix("api/HelloWorld")]
11     public class HelloWorldController : ApiController
12     {
13         [Route("")]
14         public IHttpActionResult Post()
15         {
16 
17             return Ok<string>("Hello World");
18 
19         }
20 
21     }
22 }

 

F5运行,使用Postman访问Api

 

其他一些Owin中间件包:

Install-Package Microsoft.AspNet.WebApi -Version 5.2.2

Install-Package Microsoft.AspNet.WebApi.Owin -Version 5.2.2

Install-Package Microsoft.Owin.Host.SystemWeb -Version 3.0.0

Install-Package Microsoft.Owin.Cors -Version 3.0.0

Install-Package Microsoft.Owin.Security.OAuth -Version 3.0.0

Install-Package Microsoft.Owin.Security.Jwt -Version 3.0.0

 

Install-Package System.IdentityModel.Tokens.Jwt -Version 4.0.0

Install-Package Thinktecture.IdentityModel.Core Version 1.2.0

 

Install-Package Microsoft.AspNet.Identity.Owin -Version 2.0.1

Install-Package Microsoft.AspNet.Identity.EntityFramework -Version 2.0.1

以上是关于基于空项目模板创建使用Owin来host的WebApi项目的主要内容,如果未能解决你的问题,请参考以下文章

使用 OWIN 和异步方法的多语言网站

OWIN的理解和实践 – Host和Server的开发

有意思的OWIN,附脱离iis的webapi

有意思的OWIN,附脱离iis的webapi

Owin 学习系列1. 第一个 Owin 程序

修改 OWIN OAuth 中间件以使用 JWT 不记名令牌