版本260406
This commit is contained in:
@@ -1,7 +1,21 @@
|
||||
using Microsoft.Extensions.Configuration;
|
||||
using Microsoft.Extensions.DependencyInjection;
|
||||
using OrpaonVision.ConfigApp.Annotation.Options;
|
||||
using OrpaonVision.ConfigApp.Annotation.Services;
|
||||
using OrpaonVision.ConfigApp.Configuration.Services;
|
||||
using OrpaonVision.ConfigApp.Infrastructure.Diagnostics;
|
||||
using OrpaonVision.ConfigApp.Infrastructure.Logging;
|
||||
using OrpaonVision.ConfigApp.Infrastructure.Persistence;
|
||||
using OrpaonVision.ConfigApp.Infrastructure.Persistence.Options;
|
||||
using OrpaonVision.ConfigApp.Infrastructure.Services;
|
||||
using OrpaonVision.ConfigApp.Infrastructure.Options;
|
||||
using OrpaonVision.ConfigApp.ViewModels;
|
||||
using OrpaonVision.Core.Abstractions;
|
||||
using OrpaonVision.Core.Annotation;
|
||||
using OrpaonVision.Core.Configuration;
|
||||
using OrpaonVision.Core.Production;
|
||||
using OrpaonVision.Core.Security;
|
||||
using OrpaonVision.Core.Training;
|
||||
|
||||
namespace OrpaonVision.ConfigApp.DependencyInjection;
|
||||
|
||||
@@ -15,10 +29,63 @@ public static class ServiceCollectionExtensions
|
||||
/// </summary>
|
||||
/// <param name="services">服务集合。</param>
|
||||
/// <returns>服务集合。</returns>
|
||||
public static IServiceCollection AddConfigAppServices(this IServiceCollection services)
|
||||
public static IServiceCollection AddConfigAppServices(this IServiceCollection services, IConfiguration configuration)
|
||||
{
|
||||
services.AddSingleton(new CvatOptions());
|
||||
var cvatOptions = new CvatOptions();
|
||||
configuration.GetSection("Cvat").Bind(cvatOptions);
|
||||
|
||||
var persistenceOptions = new PersistenceOptions();
|
||||
configuration.GetSection("Persistence").Bind(persistenceOptions);
|
||||
|
||||
var sessionPersistenceOptions = new SessionPersistenceOptions();
|
||||
configuration.GetSection("SessionPersistence").Bind(sessionPersistenceOptions);
|
||||
|
||||
var modelPackageOptions = new ModelPackageOptions();
|
||||
configuration.GetSection("ModelPackage").Bind(modelPackageOptions);
|
||||
|
||||
var runtimeDeploymentSnapshotOptions = new RuntimeDeploymentSnapshotOptions();
|
||||
configuration.GetSection("RuntimeDeploymentSnapshot").Bind(runtimeDeploymentSnapshotOptions);
|
||||
|
||||
services.AddSingleton(cvatOptions);
|
||||
services.AddSingleton(persistenceOptions);
|
||||
services.AddSingleton(sessionPersistenceOptions);
|
||||
services.AddSingleton(modelPackageOptions);
|
||||
services.AddSingleton(runtimeDeploymentSnapshotOptions);
|
||||
services.AddSingleton<IAnnotationSyncAppService, CvatAnnotationSyncAppService>();
|
||||
services.AddSingleton<IRuleConfigurationAppService, RuleConfigurationAppService>();
|
||||
services.AddSingleton<IAnnotationTaskStore, AnnotationTaskStore>();
|
||||
services.AddSingleton<IRuleConfigurationStore, RuleConfigurationStore>();
|
||||
services.AddSingleton<IDataStoreInitializer, SqlServerDataStoreInitializer>();
|
||||
services.AddSingleton<IAppLogger, FileAppLogger>();
|
||||
services.AddSingleton<GlobalExceptionHandler>();
|
||||
|
||||
// 训练任务管理服务
|
||||
services.AddSingleton<ITrainingTaskService, TrainingTaskService>();
|
||||
|
||||
// 模型包管理服务
|
||||
services.AddSingleton<OrpaonVision.Core.Training.IModelPackageAppService, OrpaonVision.ConfigApp.Infrastructure.Services.ModelPackageAppService>();
|
||||
|
||||
// 运行时部署快照管理服务
|
||||
services.AddSingleton<OrpaonVision.Core.Training.IRuntimeDeploymentSnapshotAppService, OrpaonVision.ConfigApp.Infrastructure.Services.RuntimeDeploymentSnapshotAppService>();
|
||||
|
||||
// 用户权限管理服务
|
||||
services.AddSingleton<IUserService, UserService>();
|
||||
services.AddSingleton<IRoleService, RoleService>();
|
||||
services.AddSingleton<IPermissionService, PermissionService>();
|
||||
services.AddSingleton<IUserRoleService, UserRoleService>();
|
||||
services.AddSingleton<IRolePermissionService, RolePermissionService>();
|
||||
services.AddSingleton<IAuthorizationService, AuthorizationService>();
|
||||
services.AddSingleton<CurrentUserContext>();
|
||||
|
||||
// 产品会话服务
|
||||
services.AddSingleton<IProductionSessionService, OrpaonVision.Core.Services.ProductionSessionService>();
|
||||
services.AddSingleton<IProductionSessionManagerService, ProductionSessionManagerService>();
|
||||
services.AddSingleton<IProductionSessionRepository, SqlProductionSessionRepository>();
|
||||
|
||||
// ViewModel
|
||||
services.AddSingleton<MainWindowViewModel>();
|
||||
services.AddSingleton<TrainingTaskManagementViewModel>();
|
||||
services.AddSingleton<ProductionSessionManagementViewModel>();
|
||||
return services;
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user