ASP.NET Web API 2.0类库迁移至ASP.NET Core 8.0及调试问题解决
问题背景与调试进展
核心背景
我们在.NET Framework环境下,通过IIS的IProcessHostPreloadClient接口实现了启动时初始化自定义Web控制器DLL的功能,该方案支持类库无需可执行文件即可部署至IIS,且多个项目可共用应用池调试。但ASP.NET Core 8.0不再支持此接口,需改用IHostApplicationLifetime等替代方案。
已尝试方案
- 尝试使用Worker Service(适配控制台应用场景)
- 尝试基于
BackgroundService与IHostedService实现,但类库中配置失败,后确认.NET 8类库部署至IIS必须依赖可执行文件,这与.NET Framework的机制不同 - 参考微软官方文档及Steve Gordon关于
IHostedLifecycleService的相关文章,仍未在类库中实现等效的启动初始化代码
最新进展(2025/04/20)
根据建议创建项目,在StartInitializer.cs中实现IHostedService的StartAsync和StopAsync方法(用文件写入操作验证),初始化流程正常且断点可触发,但存在跨项目调试问题:本地IIS部署后,客户端调用Web API时断点无法触发,不过HTTPS和CORS功能运行正常。已针对该调试问题在Stack Overflow提问。
内容的提问来源于stack exchange,提问作者Highdown
相关产品推荐
相关产品推荐

