0
点赞
收藏
分享

微信扫一扫

Owin搭建webapi的http服务器

九月的栩 2022-06-28 阅读 89

Owin搭建webapi的http服务器

1、新建netformework 控制台项目ConsoleTestOWIN,使用NuGet,搜索 owinselfhost ,添加Microsoft.AspNet.WebApi.OwinSelfHost

2、选择项目ConsoleTestOWIN,右键添加OWIN Startup 类

Owin搭建webapi的http服务器_microsoft

 

 

代码如下:

 

using System.Web.Http;
using Microsoft.Owin;
using Owin;

[assembly: OwinStartup(typeof(ConsoleTestOWIN.Startup))]

namespace ConsoleTestOWIN
{
public class Startup
{
public void Configuration(IAppBuilder app)
{
// 有关如何配置应用程序的详细信息,请访问 https://go.microsoft.com/fwlink/?LinkID=316888

HttpConfiguration configuration = new HttpConfiguration();
configuration.Routes.MapHttpRoute(
name: "default",
routeTemplate: "api/{controller}/{action}/{id}",
defaults: new { id = RouteParameter.Optional }
);
app.UseWebApi(configuration);

//注意:

//1、defaults: new { id = RouteParameter.Optional }
// 设置http://ip:port/api/{controller}/{id}中的id是否需要

//2、如果 路由模板是 routeTemplate: "api/{controller}/{action}/{id}",,
//访问:http://ip:port/api/{controller}/{action}/{id}

//如果 路由模板是 routeTemplate: "api/{controller}/{id}",,
//访问:http://ip:port/api/{controller}/{id}
//以上两种 路由模板设置是有区别的
}
}
}

 

 

3、选择项目ConsoleTestOWIN,右键添加TestController 类

代码如下:

using System.Collections.Generic;
using System.Web.Http;

namespace ConsoleTestOWIN
{
public class TestController: ApiController
{
[HttpGet]
public IEnumerable<string> Get()
{
List<string> list = new List<string> { "111", "222", "333" };
return list;
}

[HttpGet]
public string Get(int id)
{
return $"收到数据{id}";
}

public string Post([FromBody] string data)
{
return data;
}

public string Delete(int id)
{
return $"delete数据{id}"; ;
}
}
}

 

4、项目ConsoleTestOWIN的Program.cs中的代码如下:

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using Microsoft.Owin.Hosting;
using Owin;

namespace ConsoleTestOWIN
{
class Program
{
static void Main(string[] args)
{
Console.WriteLine("启动服务。。。");
WebApp.Start<Startup>("http://localhost:8090/");//注意之后的斜杠不要忘记了

//string baseAddress = "http://127.0.0.1:8090/";
//WebApp.Start<Startup>(url: baseAddress);

Console.WriteLine("服务启动成功。。。");
Console.ReadLine();
}
}
}

 

5、运行项目ConsoleTestOWIN,地址栏中输入​​http://localhost:8090/api/test/get/​​​和​​http://localhost:8090/api/test/get/​​2效果如下:

Owin搭建webapi的http服务器_数据_02

 

 Owin搭建webapi的http服务器_右键_03

 

 

 

 

 

哈哈

 

龙腾一族至尊龙骑

举报

相关推荐

0 条评论