11-宿主HttpSelfHostServer的使用

ASP.NET WEB API的一大特点是,它可以托管在你指定的任何进程中,而几乎不需要为此做额外的工作。例如我们下面使用一个控制台程序,把我们的 bookcontroller 托管于一个定制的进程中。

NUGET 中安装 selfhost。

引入 using System.Web.Http.SelfHost;

static void Main(string[] args)
{
    var config = new HttpSelfHostConfiguration(new Uri("http://localhost:52096"));
    config.Routes.MapHttpRoute(
        name: "DefaultApi",
        routeTemplate: "api/{controller}/{id}",
        defaults: new { id = RouteParameter.Optional }
    );
    var host = new HttpSelfHostServer(config);
    host.OpenAsync().Wait();

    Console.WriteLine("HttpSelfHostServer服务已启动,如果需要退出,请按任意键。");
    Console.ReadKey();

    host.CloseAsync().Wait();
}Code language: JavaScript (javascript)

这样我们就开启了一个宿主,它在监听请求。我们这里通过 ReadKey 不要让服务停止。如果真要停止,可以按任意键退出,然后宿主也就退出了。

现在我们停止原来的 web api 程序,开启我们的宿主。

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注