[.Net 5.0] 10. WebApi 自託管(WinFrom、Wpf)

因爲這樣或者那樣的緣由,您的桌面程序可能須要WebApi服務,那麼您能夠看看我是怎麼折騰的。web

  1. 新建一個類庫
  2. 編輯工程文件,添加如下語句
<ItemGroup>
    <FrameworkReference Include="Microsoft.AspNetCore.App"></FrameworkReference>
  </ItemGroup>
  1. 添加您須要的Api Controller
  2. 添加一個服務類
using System.Threading.Tasks;

using Microsoft.AspNetCore.Builder;
using Microsoft.AspNetCore.Hosting;
using Microsoft.Extensions.DependencyInjection;
using Microsoft.Extensions.Hosting;

namespace WebApi
{
    public static class SelftHostHelper
    {

        private static IHost _Host;
        public static void Start()
        {
            _Host = Host.CreateDefaultBuilder().ConfigureWebHostDefaults(webB =>
            {
                webB.UseKestrel();
                webB.ConfigureKestrel(ii => ii.ListenAnyIP(89));
                webB.ConfigureServices(ii =>
                {
                    ii.AddControllers();
                });
                webB.Configure(app =>
                {
                    app.UseRouting();

                    app.UseEndpoints(endpoints =>
                    {
                        endpoints.MapControllers();
                    });
                });

            }).Build();
            _Host.Start();

        }

        public static Task StopAsync()
        {
            return _Host.StopAsync();
        }



    }
}
  1. 桌面程序添加引用,調用 SlefHostHelp.Start方法

搞定了,可是字數太少可是字數太少可是字數太少可是字數太少可是字數太少可是字數太少可是字數太少可是字數太少可是字數太少可是字數太少可是字數太少可是字數太少可是字數太少可是字數太少可是字數太少可是字數太少可是字數太少可是字數太少可是字數太少可是字數太少app

相關文章
相關標籤/搜索