认识一般主机的注入windows service
使用topself,因为我太蠢了,所以经常会1064或者是1053,最近花了1-2天才搞清楚在使用topself的时候应该怎么写。
Microsoft.Extensions.Hosting.IHost,
HostFactory.Run(x =>
{
x.Service<IHost>(s =>
{
s.ConstructUsing(() => Start00(fileroot, args, Log.Logger).Build());
s.WhenStarted(service =>
{
service.Start();//主机同步调用
});
s.WhenStopped(async service =>
{
await service.StopAsync();
});
});
//x.Service(s => new MainSiloServiceControl(fileroot, Log.Logger,args));
//x.Service<HYWServiceControl>();
x.EnableServiceRecovery(r => r.RestartService(TimeSpan.FromMinutes(1)));
x.RunAsLocalSystem();
x.SetDisplayName("路径测试员V2");
x.SetServiceName("路径测试员V2");
x.RunAsLocalService();
x.StartAutomaticallyDelayed();
});
见使用orleans的通用主机的例子。主要是为了看asp.net core是怎么配置的。
var host = new HostBuilder()
.ConfigureWebHostDefaults(webBuilder =>
{
// Configure ASP.NET Core
webBuilder.UseStartup<Startup>();
})
.UseOrleans(siloBuilder =>
{
// Configure Orleans
siloBuilder.UseLocalHostClustering();
})
.ConfigureLogging(logging =>
{
/* Configure cross-cutting concerns such as logging */
})
.ConfigureServices(services =>
{
/* Configure shared services */
})
.UseConsoleLifetime()
.Build();
// Start the host and wait for it to stop.
await host.RunAsync();
蠢人记录
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· .NET Core 中如何实现缓存的预热?
· 从 HTTP 原因短语缺失研究 HTTP/2 和 HTTP/3 的设计差异
· AI与.NET技术实操系列:向量存储与相似性搜索在 .NET 中的实现
· 基于Microsoft.Extensions.AI核心库实现RAG应用
· Linux系列:如何用heaptrack跟踪.NET程序的非托管内存泄露
· TypeScript + Deepseek 打造卜卦网站:技术与玄学的结合
· 阿里巴巴 QwQ-32B真的超越了 DeepSeek R-1吗?
· 【译】Visual Studio 中新的强大生产力特性
· 10年+ .NET Coder 心语 ── 封装的思维:从隐藏、稳定开始理解其本质意义
· 【设计模式】告别冗长if-else语句:使用策略模式优化代码结构