110 messaggi dal 08 febbraio 2007
Ho un progetto in .net core 2 con Autofac e EntityFrameworkCore
Nonostante .InstancePerLifetimeScope(); ricevo spesso l'errore
"A second operation started on this context before a previous operation completed."

Quale puo' essere il problema ?



Ecco la registrazione del DbContext

public virtual void Register(ContainerBuilder builder)
{
...
...

// First register the options for Db Context service initialization
builder.Register(c =>
{
var optionsBuilder = new DbContextOptionsBuilder<MyDbContext>();
optionsBuilder.UseSqlServer(dataProviderSettings.DataConnectionString);

return optionsBuilder.Options;
}).InstancePerLifetimeScope();

// registered DbContext
builder.RegisterType<MyDbContext>().AsSelf().InstancePerLifetimeScope();

...
...

}
Modificato da mtugnoli il 15 marzo 2018 10.27 -
11.886 messaggi dal 09 febbraio 2002
Contributi
Ciao, sembra quasi che la stessa istanza del DbContext sia riutilizzata da più thread. C'è un motivo per cui hai usato InstancePerLifetimeScope anziché InstancePerRequest?

ciao,
Moreno

Enjoy learning and just keep making
110 messaggi dal 08 febbraio 2007
Il sorgente indicato fà parte di un progetto opensource molto interessante, che sto studiando ...
https://github.com/grandnode/grandnode/
Il progetto iniziale utilizza mongo come database, mentre io lo sto modificando/studiando con MsSql /EntityFrameworkCore

Con .InstancePerRequest(); mi da' errore autofac :
DependencyResolutionException: Unable to resolve the type "Microsoft.EntityFrameworkCore.DbContextOptions'1[Grand.Data.MsSql.GrandContext]" because the lifetime scope it belongs in can't be located.

Sono consapevole della difficoltà di proporre questo tipo di quesito.
Ma sono riuscito a convertire praticamente tutto, ma al momento dell'esecuzione si verifica
questo problema di utilizzo multiplo del dbcontext, è veramente stressante :(
Modificato da mtugnoli il 16 marzo 2018 09.03 -
Modificato da mtugnoli il 16 marzo 2018 09.03 -
Modificato da mtugnoli il 16 marzo 2018 09.04 -

Torna al forum | Feed RSS

ASPItalia.com non è responsabile per il contenuto dei messaggi presenti su questo servizio, non avendo nessun controllo sui messaggi postati nei propri forum, che rappresentano l'espressione del pensiero degli autori.