我更新到最新的Hangfire.Mongo (0.6.7)和最新的MongoDB驱动程序(2.10.3)。更新后,一些Hangfire作业会抛出此异常:
A bulk write operation resulted in one or more errors. Cannot create field 'Continuations' in element {Parameters: [ [ "CurrentCulture", ""en-SE"" ], [ "CurrentUICulture", ""en-US"" ] ]}'任何使用BackgroundJob.ContinueJobWith启动作业的尝试都会抛出此异常。
这就是我在Visual Studio中跟踪异常的地方:

这是堆栈跟踪:
at MongoDB.Driver.MongoCollectionImpl`1.BulkWrite(IClientSessionHandle session, IEnumerable`1 requests, BulkWriteOptions options, CancellationToken cancellationToken)
at MongoDB.Driver.MongoCollectionImpl`1.<>c__DisplayClass23_0.<BulkWrite>b__0(IClientSessionHandle session)
at MongoDB.Driver.MongoCollectionImpl`1.UsingImplicitSession[TResult](Func`2 func, CancellationToken cancellationToken)
at MongoDB.Driver.MongoCollectionImpl`1.BulkWrite(IEnumerable`1 requests, BulkWriteOptions options, CancellationToken cancellationToken)
at Hangfire.Mongo.MongoWriteOnlyTransaction.Commit() in C:\Code\Hangfire.Mongo\src\Hangfire.Mongo\MongoWriteOnlyTransaction.cs:line 400
at Hangfire.Mongo.MongoConnection.SetJobParameter(String id, String name, String value) in C:\Code\Hangfire.Mongo\src\Hangfire.Mongo\MongoConnection.cs:line 76
at Hangfire.ContinuationsSupportAttribute.AddContinuation(ElectStateContext context, AwaitingState awaitingState)
at Hangfire.Profiling.ProfilerExtensions.InvokeAction[TInstance](InstanceAction`1 tuple)
at Hangfire.Profiling.EmptyProfiler.InvokeMeasured[TInstance,TResult](TInstance instance, Func`2 action, String message)
at Hangfire.Profiling.ProfilerExtensions.InvokeMeasured[TInstance](IProfiler profiler, TInstance instance, Action`1 action, String message)
at Hangfire.States.StateMachine.ApplyState(ApplyStateContext initialContext)
at Hangfire.Client.CoreBackgroundJobFactory.<>c__DisplayClass14_0.<Create>b__3(Int32 attempt)
at Hangfire.Client.CoreBackgroundJobFactory.<>c__DisplayClass15_0.<RetryOnException>b__0(Int32 attempt)
at Hangfire.Client.CoreBackgroundJobFactory.RetryOnException[T](Int32& attemptsLeft, Func`2 action)发布于 2020-04-14 15:56:29
感谢你张贴这篇文章。
我将在这里解决github问题中的bug:https://github.com/sergeyzwezdin/Hangfire.Mongo/issues/235
发布于 2020-10-06 23:15:59
我们遇到了类似的情况。归根结底就是我们如何重写字典序列化的默认MongoDB约定。这个MongoDB实现对如何与它创建的字典交互进行了硬编码,如果这些字典没有存储为默认的“文档”,比如ArrayOfArrays或ArrayOfDocuments,它就根本不能工作。
我们继续使用Redis作为存储提供商。
https://stackoverflow.com/questions/61192195
复制相似问题