Привет. Итак, в журналах появляется ошибка, и некоторые функции иногда нарушаются, но она прерывистая.
Полная трассировка стека выглядит следующим образом:
System.Data.Entity.Core.EntityCommandExecutionException: произошла ошибка при выполнении определения команды. Смотрите внутреннее исключение для деталей. ---> System.InvalidOperationException: ExecuteReader требует открытого и доступного Соединения. Текущее состояние соединения открыто. в System.Data.SqlClient.SqlConnection.GetOpenConnection (метод String) в System.Data.SqlClient.SqlConnection.ValidateConnectionForExecute (метод String, команда SqlCommand) в System.Data.SqlClient.SqlCommand.lean ) при System.Data.SqlClient.SqlCommand.RunExecuteReader (CommandBehavior cmdBehavior, runBehavior runBehavior, булевой returnStream, метод String, TaskCompletionSource 1 completion, Int32 timeout, Task& task, Boolean& usedCache, Boolean asyncWrite, Boolean inRetry) at System.Data.SqlClient.SqlCommand.RunExecuteReader(CommandBehavior cmdBehavior, RunBehavior runBehavior, Boolean returnStream, String method) at System.Data.SqlClient.SqlCommand.ExecuteReader(CommandBehavior behavior, String method) at System.Data.Entity.Infrastructure.Interception.InternalDispatcher
1.Dispatch [TTarget, TInterceptionContext, TResult] (цель TTarget, развлечение c3 operation, TInterceptionContext interceptionContext, Action
3 выполнение, Action 3 executed) at System.Data.Entity.Infrastructure.Interception.DbCommandDispatcher.Reader(DbCommand command, DbCommandInterceptionContext interceptionContext) at System.Data.Entity.Core.EntityClient.Internal.EntityCommandDefinition.ExecuteStoreCommands(EntityCommand entityCommand, CommandBehavior behavior) --- End of inner exception stack trace --- at System.Data.Entity.Core.EntityClient.Internal.EntityCommandDefinition.ExecuteStoreCommands(EntityCommand entityCommand, CommandBehavior behavior) at System.Data.Entity.Core.Objects.Internal.ObjectQueryExecutionPlan.Execute[TResultType](ObjectContext context, ObjectParameterCollection parameterValues) at System.Data.Entity.Core.Objects.ObjectContext.ExecuteInTransaction[T](Func
1 fun c, IDbExecutionStrategy executeStrategy, логическое значение startLocalTransaction, логическое значение releaseConnectionOnSuccess) в операции System.Data.Entity.Core.Objects.ObjectQuery 1.<>c__DisplayClass7.<GetResults>b__5() at System.Data.Entity.SqlServer.DefaultSqlExecutionStrategy.Execute[TResult](Func
1) в System.Data.Entity.Core.Object. ObjectQuery 1.GetResults(Nullable
1 forMergeOption) в System.Data.Entity.Core.Objects.DataClasses.EntityCollection 1.Load(List
1 коллекция, MergeOption mergeOption) в System.Data.Entity.Core.Objects.DataClasses.RelatedEnd.DeferredLoad () в системе .Data.Entity.Core. Objects.Internal.LazyLoadBehavior.LoadProperty [TItem] (свойство TItemValue, строковое отношение в System.Web. Mvc .ControllerActionInvoker.InvokeActionMethod (ControllerContext controllerContext, ActionDescriptor actionDescriptor, IDictionary 2 parameters) at System.Web.Mvc.Async.AsyncControllerActionInvoker.<BeginInvokeSynchronousActionMethod>b__39(IAsyncResult asyncResult, ActionInvocation innerInvokeState) at System.Web.Mvc.Async.AsyncResultWrapper.WrappedAsyncResult
2.CallEndDelegate (IAsyncResult asyncResult) в System.Web. * 10Sync. ) в System.Web. Mvc .Asyn c .AsyncControllerActionInvoker.AsyncInvocationWithFilters.b__3d () в System.Web. Mvc .Asyn c .AsyncControllerActionInvoker.AsyncInvocationWithF__bid.dll (<)>.>. Web. Mvc .Asyn c .AsyncControllerActionInvoker.AsyncInvocationWithFilters. <> C__DisplayClass46.b__3f () в System.Web. Mvc .Asyn c .AsyncControllerActionInvoker.Async__visithW.>>. ass46.b__3f () в System.Web. Mvc .Asyn c .AsyncControllerActionInvoker.AsyncInvocationWithFilters. <> c__DisplayClass46.b__3f () в System.Web. Mvc .Asyn c .AsyncIninController. c__DisplayClass46.b__3f () в System.Web. Mvc .Asyn c .AsyncControllerActionInvoker.AsyncInvocationWithFilters. <> c__DisplayClass46.b__3f () в System.Web. Mvc .Asyn * 10inCync. c__DisplayClass46.b__3f () в System.Web. Mvc .Asyn c .AsyncControllerActionInvoker.AsyncInvocationWithFilters. <> c__DisplayClass46.b__3f () в System.Web. Mvc .AynSync в качестве объекта. ) в System.Web. Mvc .Asyn c .AsyncControllerActionInvoker. <> c__DisplayClass21. <> c__DisplayClass2b.b__1 c () в System.Web. Mvc .Asyn c .AsyncControllerActionIn__play>. .b__1e (IAsyncResult asyncResult) в System.Web. Mvc .Asyn c .AsyncControllerActionInvoke r.EndInvokeAction (IAsyncResult asyncResult) в System.Web. Mvc .Controller.b__1d (IAsyncResult asyncResult, ExecuteCoreState innerState) в System.Web. Mvc .Asyn c .AsyncResallEegnateRate. IAsyncResult asyncResult) в System.Web. Mvc .Controller.EndExecute (IAsyncResult asyncResult) в System.Web. Mvc .MvcHandler.b__5 (IAsyncResult asyncResult, ProcessRequestState inner.yn. 1067). * .AsyncResultWrapper.WrappedAsyncVoid`1. CallEndDelegate (IAsyncResult asyncResult) в System.Web. Mvc .MvcHandler.EndProcessRequest (IAsyncResult asyncResult) в System.Web.HttpApplication.CallHandlerExecutionStep.System.Web.tep.Exp.Exp. Шаг IExecutionStep) в System.Web.HttpApplication.ExecuteStep (шаг IExecutionStep, логический и завершенный синхронно)
Я видел несколько решений о множественных активных наборах результатов в строке подключения, но, очевидно, это обходной путь, а не решение .
Трассировка стека переносит меня в этот раздел кода, хотя я не совсем понимаю, что это такое. Я беру детские товары, хотя я не уверен.
var childProducts = _cacheManager.Get("CHILD_PRODUCTS_" + parentProductId, () => _productService.GetAssociatedProducts(parentProductId));
Любое руководство будет оценено. Спасибо