c# - EF Core - System.InvalidOperationException: ExecuteReader requires an open and available Connection. The connection's current state is closed -
i'm running asp.net core 1.0 web app entity framework core. when app has been running while (24 - 48 hours), app starts crashing on every request endpoint or static resource throwing error system.invalidoperationexception: executereader requires open , available connection. connection's current state closed. can recover restarting app pool.
i configuring entity framework this:
startup.cs
public void configureservices(iservicecollection services) { services.adddbcontext<applicationdbcontext>(options => options.usesqlserver(configuration.getconnectionstring("defaultconnection"))); } i loading data in owin pipeline extension method like this:
startup.cs
app.loadtenantdata(); appbuilderextensions.cs:
public static void loadtenantdata(this iapplicationbuilder app) { app.use(async (context, next) => { var dbcontext = app.applicationservices.getservice<applicationdbcontext>(); var club = dbcontext.clubs.single(c => c.id == getclubidfromurl(context)); context.items[pipelineconstants.clubkey] = club; await next(); }); } since error occurs when app has been running long time, hard reproduce, i'm assuming has ef opening , closing connections incorrectly.
how can go debug this? using ef incorrectly?
i got same issue.
i think same dbcontext instance being used concurrently multiple threads.
you may need this: services.adddbcontext<applicationdbcontext>(options => options.usesqlserver(configuration.getconnectionstring("defaultconnection")),servicelifetime.transient); there issue that. https://github.com/aspnet/entityframework/issues/6491
Comments
Post a Comment