zoukankan      html  css  js  c++  java
  • Owin搭建webapi的http服务器

    Owin搭建webapi的http服务器

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

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

    代码如下:

    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效果如下:

     

    哈哈

    龙腾一族至尊龙骑
  • 相关阅读:
    2013第38周日Java文件上传下载收集思考
    2013年第38周六这一刻,行动
    2013年9月20日突然的焦虑
    2013中秋
    2013第38周三
    2013年第38周二
    2013第38周一电话开会邮件
    for循环中一个不容小觑的问题
    NPOI 创建Excel,数据读取与写入
    linux下mysql数据的导出和导入
  • 原文地址:https://www.cnblogs.com/1175429393wljblog/p/13407436.html
Copyright © 2011-2022 走看看