.net6 winform项目 添加webapi

默认创建.net6winform项目时,框架只有下面两个

 剩下的一个通过编辑项目文件 添加截图的代码

<!--winform项目添加AspNetCore SDK -->
<ItemGroup>
<FrameworkReference Include="Microsoft.AspNetCore.App" />
</ItemGroup>

修改Program文件  修改完成webpai就和winform共存啦

 

复制代码
 internal static class Program
 {
     static Mutex mutex = new Mutex(true, "CallClientMutex");
     /// <summary>
     ///  The main entry point for the application.
     /// </summary>
     [STAThread]
     static void Main(string[] args)
     {
         if (mutex.WaitOne(TimeSpan.Zero, true))
         {
             Task.Run(() => StartWebServer());
             ApplicationConfiguration.Initialize();
             Application.Run(new Main());
             mutex.ReleaseMutex();
         }
         else
         {
             MessageBox.Show("应用程序已经在运行中!");
         }
     }
     private static void StartWebServer()
     {
         var builder = WebApplication.CreateBuilder();
         // Add services to the container.
         builder.Services.AddSingleton(new Appsettings(builder.Configuration));
         builder.AddSerilog();
         builder.Services.AddCorsSetup();
         builder.Services.AddSignalR().AddNewtonsoftJsonProtocol();

         builder.Services.AddHostedService<HubClientService>();
         builder.Services.AddHostedService<SoundService>();

         builder.Services.Configure<KestrelServerOptions>(builder.Configuration.GetSection("Kestrel"));
         builder.Services.AddControllers();

         var app = builder.Build();
         // Configure the HTTP request pipeline.
         //跨域
         app.UseCors("Cors");
         app.UseDefaultFiles();
         // 启用默认静态资源目录(wwwroot)
         app.UseStaticFiles();
         var baseDirec = Path.Combine(AppContext.BaseDirectory, "webfile");
         if (!Directory.Exists(baseDirec)) Directory.CreateDirectory(baseDirec);
         app.UseFileServer(new FileServerOptions()
         {
             FileProvider = new PhysicalFileProvider(baseDirec),
             RequestPath = new PathString("/webfile"),
             EnableDirectoryBrowsing = false
         });
         app.UseStatusCodePages();
         app.UseRouting();

         app.UseEndpoints(endpoints =>
         {
             endpoints.MapHub<ChatHub>("/hub");
             endpoints.MapControllers();
         });
         app.Run();
     }
复制代码

 

posted @   凉生凉忆亦凉心  阅读(794)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· winform 绘制太阳,地球,月球 运作规律
· TypeScript + Deepseek 打造卜卦网站:技术与玄学的结合
· AI 智能体引爆开源社区「GitHub 热点速览」
· Manus的开源复刻OpenManus初探
· 写一个简单的SQL生成工具
点击右上角即可分享
微信分享提示