В моем решении у меня есть два основных проекта, которые реализованы ядром. net. Одна из тем - Asp. net MVC, а другая - WebApi. а остальное - общие классы и библиотеки. Поэтому моя проблема заключается в том, что службы, которые являются общими в двух веб-проектах, помещаются в отдельную библиотеку с именем iocConfig, поэтому включают комбинацию пользовательских служб и asp. net служб.
Итак, я зарегистрировался и внедрил их в startup.cs проектов web mvc и web api.
Ну, все нормально и будет нормально, когда я запускаю приложение MVC, но у меня есть некоторые ошибки при запуске приложения Webapi. Выдает исключение «службы не могут быть построены и не могут быть активированы…».
public IConfiguration Configuration { get; }
public IServiceProvider Services { get; }
private readonly SiteSettings SiteSettings;
public void ConfigureServices(IServiceCollection services)
{
services.Configure<SiteSettings>(Configuration.GetSection(nameof(SiteSettings)));
services.AddDbContext<ActivityManagementContext>(options =>
options.UseSqlServer(Configuration.GetConnectionString("SqlServer")));
services.AddCustomIdentityServices();
services.AddCustomServices();
services.AddCustomKendoUi();
services.AddApiVersioning();
services.AddCustomAuthentication(SiteSettings);
services.AddSwagger();
services.AddAuthorization(options =>
{
options.AddPolicy(ConstantPolicies.DynamicPermission, policy => policy.Requirements.Add(new DynamicPermissionRequirement()));
});
services.ConfigureWritable<SiteSettings>(Configuration.GetSection("SiteSettings"));
services.AddMvc();
services.ConfigureApplicationCookie(options =>
{
options.LoginPath = "/Account/SignIn";
options.AccessDeniedPath = "/UserManager/AccessDenied";
});
}
некоторые ошибки:
AggregateException: некоторые службы не могут быть построены (Ошибка при проверке дескриптора службы «ServiceType: Microsoft.AspNetCore.Authorization.IAuthorizationHandler. Время жизни: синглетон. 'ActivityManagement.Services.EfServices.Identity.MvcActionsDiscoveryService') (Ошибка при проверке дескриптора службы. 'ServiceType: ActivityManagement.Services.EfInterfaces.Identity.IMvcActionsDiscoveryService Продолжительность жизни: Singleton ImplementationType: ActivityManagement.Services.EfServices.Identity.MvcActionsDiscoveryService': Невозможно разрешить службу для типа 'Microsoft.AspNetCore. Mvc .Infrastructure.IAction DescriptorCollectionProvider 'при попытке активировать' ActivityManagement.Services.EfServices.Identity.MvcActionsDiscoveryService '.) (Ошибка при проверке дескриптора службы' ServiceType: ActivityManagement.Services.EfInterfaces.Identity.ISecurityTrimmingServices.rifService: LifeStime:: .SecurityTrimmingService ': невозможно разрешить службу для типа' Microsoft.AspNetCore. Mvc .Infrastructure.IActionDescriptorCollectionProvider 'при попытке активировать' ActivityManagement.Services.EfServices.Identity.MvcActionsDiscoveryService '.)
*