梦若夕阳海
穷其一生的追求

  也许我们在以往做的项目交互中,经常会用到WebService,WebAPI等不同的技术方式,但不同的是WebAPI可以通过自宿主的形式来进行不同系统之间的交互。我这里所谓的自宿主就是不需要通过IIs来进行程序的访问,我们可以通过编写自宿主程序让其寄宿在windows应用控制台上,我们需要首先建立一个控制台程序,

using System;

using System.Collections.Generic;

using System.Linq; using System.Threading.Tasks;

using System.Web.Http;

using System.Web.Http.SelfHost;

using System.Windows.Forms;

namespace WebAPISelfHostTest {

    static class Program     {

        /// <summary>

        /// 应用程序的主入口点。

        /// </summary>

        [STAThread]

        static void Main()

        {

            HttpSelfHostConfiguration config = new HttpSelfHostConfiguration("http://localhost:9001");

            config.Routes.MapHttpRoute(

                name:"API",

                routeTemplate:"api/{controller}/{id}",

                defaults:new { id = RouteParameter.Optional });

            using (HttpSelfHostServer server = new HttpSelfHostServer(config))

            {

                server.OpenAsync().Wait();

                Console.WriteLine("Web API is started now");

                Console.ReadLine();             }

        }

    }

}

这是在该程序中设置的自宿主程序的代码。然后在建立一个Windows form控制台程序来访问对应的api 方法,就可以达到在控制台上寄宿程序的方式了。

posted on 2015-07-16 15:15  梦若夕阳海  阅读(1684)  评论(1编辑  收藏  举报