Мы используем cosmosdb для регистрации журналов наших приложений.Наши журналы имеют два однослойных, имеют общую информацию, а другие имеют более подробную информацию общего журнала.Мы также заносим их копию в две другие коллекции для резервного копирования.Итак, у нас полностью четыре коллекции.В нашем коде мы используем Async CreateDocumentAsync для создания этих журналов.Мы сохраняем задачу в списке и используем Task.WaitAll для выполнения всех задач.В среде разработчиков мы не видели никаких ошибок, но в процессе производства мы видим отмененные ошибки в наших представлениях о приложении при создании новых документов.Пример изображения ниже.
System.AggregateException: at MyApplication.Logging.Controllers.ApiController.Log (MyApplication.Logging, Version = 2.0.0.0, Culture = нейтральный, PublicKeyToken = nullMyApplication.Logging, версия = 2.0.0.0, культура = нейтральная, PublicKeyToken = null: C: \ TFS \ CA \ Logging \ Release \ Release 3.0-Исправление \ ведение журнала \ Controllers \ ApiController.csMyApplication.Logging, версия = 2.0.0.0, культура= нейтральный, PublicKeyToken = null: 57) в lambda_method (анонимно размещенная сборка DynamicMethods, версия = 0.0.0.0, культура = нейтральный, PublicKeyToken = нулевой) в Microsoft.Extensions.Internal.ObjectMethodExecutor + <> c__DisplayClass33_0.bvC0 (Microsoft).Core, версия = 2.0.2.0, культура = нейтральная, PublicKeyToken = adb9793829ddae60) в Microsoft.Extensions.Internal.ObjectMethodExecutor.Execute (Microsoft.AspNetCore.Mvc.Core, версия = 2.0.2.0, культура = нейтральная, PublicKeyToken = adb9793829ddae60) в Microsoft.AspNetCore.Mvc.Internal.ControllerActionInvoker + d__12.MoveNext (Microsoft.AspNetCore.Mvc.Core, версия = 2.0.2.0, культура= нейтральный, PublicKeyToken = adb9793829ddae60) в System.Runtime.ExceptionServices.ExceptionDispatchInfo.Throw (System.Private.CoreLib, версия = 4.0.0.0, культура = нейтральный, PublicKeyToken = 7cec85d7bea7798e) в System.Runtime.SouserSuccessSk.Private.CoreLib, версия = 4.0.0.0, культура = нейтральная, PublicKeyToken = 7cec85d7bea7798e) в Microsoft.AspNetCore.Mvc.Internal.ControllerActionInvoker + d__10.MoveNext (Microsoft.AspNetCore.Mvc.Core, версия = 2.0.2.0, культура =нейтральный, PublicKeyToken = adb9793829ddae60) в System.Runtime.ExceptionServices.ExceptionDispatchInfo.Throw (System.Private.CoreLib, версия = 4.0.0.0, культура = нейтральный, PublicKeyToken = 7cec85d7bea7798e) в Microsoft.AspNetCternalInont.ontCont.InCoreInont.vor.v.Microsoft.AspNetCore.Mvc.Core,Версия = 2.0.2.0, культура = нейтральная, PublicKeyToken = adb9793829ddae60) в Microsoft.AspNetCore.Mvc.Internal.ControllerActionInvoker.Next (Microsoft.AspNetCore.Mvc.Core, версия = 2.0.2.0, культура = нейтральная, PublicKeyToken = adb9793829e)Microsoft.AspNetCore.Mvc.Internal.ControllerActionInvoker + d__14.MoveNext (Microsoft.AspNetCore.Mvc.Core, версия = 2.0.2.0, культура = нейтральная, PublicKeyToken = adb9793829ddae60) в System.Runtime.ExceptionServices.ExceptionDrowpfoIn.CoreLib, Версия = 4.0.0.0, Культура = нейтральная, PublicKeyToken = 7cec85d7bea7798e) в System.Runtime.CompilerServices.TaskAwaiter.ThrowForNonSuccess (System.Private.CoreLib, Версия = 4.0.0.0, Культура = нейтральная, PublicKeyTokd7) 857 at 7cec.AspNetCore.Mvc.Internal.ResourceInvoker + d__22.MoveNext (Microsoft.AspNetCore.Mvc.Core, версия = 2.0.2.0, культура = нейтральная, PublicKeyToken = adb9793829ddae60) в System.Runtime.ExceptionServices.ExceptionDispatchIn.P.CoreLib, версия = 4.0.0.0, Culture = нейтральный, PublicKeyToken = 7cec85d7bea7798e) в Microsoft.AspNetCore.Mvc.Internal.ResourceInvoker.Rethrow (Microsoft.AspNetCore.Mvc.Core, версия = 2.0.2.0, культура = нейтральный, PublicKeyToken = adb9793829ddae60) вMicrosoft.AspNetCore.Mvc.Internal.ResourceInvoker.Next (Microsoft.AspNetCore.Mvc.Core, версия = 2.0.2.0, культура = нейтральная, PublicKeyToken = adb9793829ddae60) в Microsoft.AspNetCore.Mvc.Internal.ResourceInvoker + d__17.Me.AspNetCore.Mvc.Core, версия = 2.0.2.0, культура = нейтральная, PublicKeyToken = adb9793829ddae60) в System.Runtime.ExceptionServices.ExceptionDispatchInfo.Throw (System.Private.CoreLib, версия = 4.0.0.0, культура = нейтральная, PublicKeyToken =7cec85d7bea7798e) в System.Runtime.CompilerServices.TaskAwaiter.ThrowForNonSuccess (System.Private.CoreLib, Версия = 4.0.0.0, Культура = нейтральный, PublicKeyToken = 7cec85d7bea7798e) в System.Runtime.Chill Получатель уведомления о получении ответаВерсия = 4.0.0.0, Культура = нейтральная, PublicKeyToken = 7cec85d7bea7798e) на Microsoft.AspNetCore.Mvc.Internal.ResourceInvoker + d__15.MoveNext (Microsoft.AspNetCore.Mvc.Core, Версия = 2.0.2.0, Культура = нейтральная, PublicKeyToken = adb93838) в System.Runtime.ExceptionServices.ExceptionDispatchInfo.Throw (System.Private.CoreLib, версия = 4.0.0.0, культура = нейтральная, PublicKeyToken = 7cec85d7bea7798e) в System.Runtime.CompilerServices.TaskAwaiter.ThrowForNonSuccess (System.Private. 4.0.0Lore.0.= нейтральный, PublicKeyToken = 7cec85d7bea7798e) в System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification (System.Private.CoreLib, Версия = 4.0.0.0, Культура = нейтральный, PublicKeyToken = 7cec85Doug.Dever.RoDever.RuDeDever.RuDeDe.Ru.De).(Microsoft.AspNetCore.Routing, версия = 2.0.1.0, культура = нейтральная, PublicKeyToken = adb9793829ddae60) в System.Runtime.ExceptionServices.ExceptionDispatchInfo.Throw (System.Private.CoreLib, версия = 4.0.0.0, культура = нейтральная, PublicKeyToken =7cec85d7bea7798e) в System.Runtime.CompilerServices.TaskAwaiter.ThrowForNonSuccess (System.Private.CoreLib, Версия = 4.0.0.0, Культура = нейтральная, PublicKeyToken = 7cec85d7bea7798e) в System.Runtime.CompilerKervices.leNonSuccessAndDebuggerNotification (System.Private.CoreLib, версия = 4.0.0.0, культура = нейтральная, PublicKeyToken = 7cec85d7bea7798e) в Microsoft.AspNetCore.Server.IISIntegration.IISMiddleware + d__11.MoveNext (версия 2.0.Ser., Культура = нейтральная, PublicKeyToken = adb9793829ddae60) в System.Runtime.ExceptionServices.ExceptionDispatchInfo.Throw (System.Private.CoreLib, Версия = 4.0.0.0, Культура = нейтральная, PublicKeyToken = 7cec85d7bea7798e) в системе.(System.Private.CoreLib, Версия = 4.0.0.0, Культура = нейтральная, PublicKeyToken = 7cec85d7bea7798e) в System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification (System.Private.CoreLib, Версия = нейтральный, Version = 4.0.07cec85d7bea7798e) в Microsoft.AspNetCore.Hosting.Internal.RequestServicesContainerMiddleware + d__3.MoveNext (Microsoft.AspNetCore.Hosting, версия = 2.0.1.0, культура = нейтральная, PublicKeyToken = adb9793829ddae60) в System.Runtime.ExceptionServices.ExceptionDispatchInfo.Throw (System.Private.CoreLib, версия = 4.0.0.0, культура = нейтральная, PublicKeyToken = 7cec85d7bea7798e) в System.Runtime.CompilerServices.TaskAwaiter.ThrowForNonLriv..0.0, Культура = нейтральная, PublicKeyToken = 7cec85d7bea7798e) в Microsoft.AspNetCore.Server.Kestrel.Core.Internal.Http.Frame`1 + d__2.MoveNext (Microsoft.AspNetCore.Server.Kestrel.Core, Версия = 2.0.1.0,Culture = нейтральный, PublicKeyToken = adb9793829ddae60) Внутреннее исключение System.Threading.Tasks.TaskCanceledException, обработанное в MyApplication.Logging.Controllers.ApiController.Log: