也许我们在以往做的项目交互中,经常会用到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 方法,就可以达到在控制台上寄宿程序的方式了。