新增 Mjpegplayer 用来播放 Web 流
This commit is contained in:
@@ -1,5 +1,6 @@
|
||||
using Microsoft.AspNetCore.Builder;
|
||||
using Microsoft.Extensions.DependencyInjection;
|
||||
using Microsoft.Extensions.Hosting;
|
||||
using Microsoft.OpenApi.Models;
|
||||
using SHH.CameraSdk;
|
||||
|
||||
@@ -93,12 +94,24 @@ public static class ServiceCollectionExtensions
|
||||
services.AddSingleton<IEnumerable<StreamTarget>>(netTargets);
|
||||
services.AddHostedService<ImageMonitorController>();
|
||||
|
||||
// 动态注册 Sender Worker
|
||||
//// 动态注册 Sender Worker
|
||||
//foreach (var target in netTargets)
|
||||
//{
|
||||
// // 注意:这里需要使用 Microsoft.Extensions.Logging.ILogger 来适配构造函数
|
||||
// services.AddHostedService(sp =>
|
||||
// new GrpcSenderWorker(target));
|
||||
//}
|
||||
|
||||
foreach (var target in netTargets)
|
||||
{
|
||||
// 注意:这里需要使用 Microsoft.Extensions.Logging.ILogger 来适配构造函数
|
||||
services.AddHostedService(sp =>
|
||||
new GrpcSenderWorker(target));
|
||||
// Modified: 显式声明局部变量,防止 Lambda 捕获循环变量导致的引用重复
|
||||
var currentTarget = target;
|
||||
|
||||
logger.Information("[DI] 准备启动 Worker 实例: {Name} -> {Url}",
|
||||
currentTarget.Config.Name, currentTarget.Config.Endpoint);
|
||||
|
||||
// 使用工厂模式注册,确保传入的是当前的 currentTarget
|
||||
services.AddSingleton<IHostedService>(sp => new GrpcSenderWorker(currentTarget));
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user