控制台+WebApi初探

来源:互联网 发布:cnc刀库编程 编辑:程序博客网 时间:2024/05/22 12:35

环境:VS2012+Win7+Nuget

参考文献:http://www.thinksaas.cn/topics/0/685/685417.html

1.创建类库工程,主要编写WebApi的代码;代码如下:

using System;using System.Collections.Generic;using System.Web.Http;namespace ClassLibrary1{    public class MainController : ApiController    {        public IEnumerable<string> Get()        {            return new string[] { "张三", "李四" };        }    }}//MainController.cs
using System;using System.Web.Http;using Owin;namespace ClassLibrary1{    public class Startup    {        public void Configuration(IAppBuilder appBuilder)        {            HttpConfiguration config = new HttpConfiguration();            config.Routes.MapHttpRoute(name:"DefaultApi",                routeTemplate:"api/{controller}/{id}",                defaults:new {id=RouteParameter.Optional}            );            appBuilder.UseWebApi(config);        }    }}//Startup.cs
/////////////////////////////////////////////////////////////////////////

2.另外创建控制台程序。Nuget中搜索Microsoft.Owin.Hosting并添加;Nuget执行命令:install-package Microsoft.Owin.Host.HttpListener

代码如下:

using System;using ClassLibrary1;using Microsoft.Owin.Hosting;namespace ConsoleApp_test{    class Program    {        static void Main(string[] args)        {            StartOptions options = new StartOptions();            options.Urls.Add("http://localhost:9095");            options.Urls.Add("http://127.0.0.1:9095");            options.Urls.Add(string.Format("http://{0}:9095", Environment.MachineName));            using (WebApp.Start<Startup>(options))            {                Console.WriteLine("server started...");                System.Threading.Thread.Sleep(-1);            }        }    }}
访问成功!