由于这样或者那样的原因,您的桌面程序可能需要WebApi服务,那么您可以看看我是怎么折腾的。
- 新建一个类库
- 编辑工程文件,添加以下语句
<ItemGroup>
<FrameworkReference Include="Microsoft.AspNetCore.App"></FrameworkReference>
</ItemGroup>
- 添加您需要的Api Controller
- 添加一个服务类
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();
}
}
}
- 桌面程序添加引用,调用 SlefHostHelp.Start方法
搞定了,但是字数太少但是字数太少但是字数太少但是字数太少但是字数太少但是字数太少但是字数太少但是字数太少但是字数太少但是字数太少但是字数太少但是字数太少但是字数太少但是字数太少但是字数太少但是字数太少但是字数太少但是字数太少但是字数太少但是字数太少
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 开发者必知的日志记录最佳实践
· SQL Server 2025 AI相关能力初探
· Linux系列:如何用 C#调用 C方法造成内存泄露
· AI与.NET技术实操系列(二):开始使用ML.NET
· 记一次.NET内存居高不下排查解决与启示
· 被坑几百块钱后,我竟然真的恢复了删除的微信聊天记录!
· 没有Manus邀请码?试试免邀请码的MGX或者开源的OpenManus吧
· 【自荐】一款简洁、开源的在线白板工具 Drawnix
· 园子的第一款AI主题卫衣上架——"HELLO! HOW CAN I ASSIST YOU TODAY
· Docker 太简单,K8s 太复杂?w7panel 让容器管理更轻松!
2020-03-11 [WPF 学习] 5. 3 以管理员身份运行
2020-03-11 [WPF 学习] 5. 2 C#8.0的几个有用的知识点
2010-03-11 项目合作