-
Notifications
You must be signed in to change notification settings - Fork 1.3k
Description
执行dbContext.Database.BeginTransaction(_capBus)会抛异常 : Cannot resolve scoped service 'xxDbContext' from root provider
开发环境:
<PropertyGroup>
<TargetFramework>netcoreapp2.2</TargetFramework>
<AspNetCoreHostingModel>InProcess</AspNetCoreHostingModel>
</PropertyGroup>
<ItemGroup>
<PackageReference Include="DotNetCore.CAP.RabbitMQ" Version="2.6.0" />
<PackageReference Include="DotNetCore.CAP.SqlServer" Version="2.6.0" />
<PackageReference Include="Microsoft.AspNetCore.App" />
<PackageReference Include="Microsoft.EntityFrameworkCore.SqlServer" Version="2.2.6" />
</ItemGroup>
数据库: sqlserver localdb 2016
经测试DotNetCore.CAP.SqlServer 2.5.1可以通过 而2.6.0会报错 100%重现
错误堆栈:
fail: Microsoft.AspNetCore.Diagnostics.DeveloperExceptionPageMiddleware[1]
An unhandled exception has occurred while executing the request.
System.InvalidOperationException: Cannot resolve scoped service 'Sample.RabbitMQ.SqlServer.AppDbContext' from root provider.
at Microsoft.Extensions.DependencyInjection.ServiceLookup.CallSiteValidator.ValidateResolution(Type serviceType, IServiceScope scope, IServiceScope rootScope)
at Microsoft.Extensions.DependencyInjection.ServiceProvider.Microsoft.Extensions.DependencyInjection.ServiceLookup.IServiceProviderEngineCallback.OnResolve(Type serviceType, IServiceScope scope)
at Microsoft.Extensions.DependencyInjection.ServiceLookup.ServiceProviderEngine.GetService(Type serviceType, ServiceProviderEngineScope serviceProviderEngineScope)
at Microsoft.Extensions.DependencyInjection.ServiceLookup.ServiceProviderEngineScope.GetService(Type serviceType)
at DotNetCore.CAP.SqlServerCapTransaction..ctor(IDispatcher dispatcher, IServiceProvider serviceProvider) in C:\projects\src\DotNetCore.CAP.SqlServer\ICapTransaction.SqlServer.cs:line 27
--- End of stack trace from previous location where exception was thrown ---
