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


    由于这样或者那样的原因,您的桌面程序可能需要WebApi服务,那么您可以看看我是怎么折腾的。

    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方法

    搞定了,但是字数太少但是字数太少但是字数太少但是字数太少但是字数太少但是字数太少但是字数太少但是字数太少但是字数太少但是字数太少但是字数太少但是字数太少但是字数太少但是字数太少但是字数太少但是字数太少但是字数太少但是字数太少但是字数太少但是字数太少

  • 相关阅读:
    DS博客作业03--栈和队列
    DS博客作业02--线性表
    DS博客作业01--日期抽象数据类型设计与实现
    C语言博客作业06--结构体&文件
    DS博客作业08--课程总结
    DS博客作业07--查找
    DS博客作业06--图
    DS博客作业05--树
    DS博客大作业--树 (陈梓灿组)
    DS博客作业03--栈和队列
  • 原文地址:https://www.cnblogs.com/catzhou/p/14516257.html
Copyright © 2020-2023  润新知