Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/mongodb/12.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Hangfire.MongoDB异常:无法创建字段';延续';在元素{Parameters:[…]}';_Mongodb_Hangfire - Fatal编程技术网

Hangfire.MongoDB异常:无法创建字段';延续';在元素{Parameters:[…]}';

Hangfire.MongoDB异常:无法创建字段';延续';在元素{Parameters:[…]}';,mongodb,hangfire,Mongodb,Hangfire,我更新了最新的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", "

我更新了最新的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)
位于MongoDB.Driver.MongoCollectionImpl`1.BulkWrite(IClientSessionHandle会话、IEnumerable`1请求、BulkWriteOptions选项、CancellationToken CancellationToken)
在MongoDB.Driver.MongoCollectionImpl`1.c__显示类23_0.b_0(IClientSessionHandle会话)
在MongoDB.Driver.MongoCollectionImpl`1.UsingImplicitSession[TResult](Func`2 Func,CancellationToken CancellationToken)
在MongoDB.Driver.MongoCollectionImpl`1.BulkWrite(IEnumerable`1请求、BulkWriteOptions选项、CancellationToken CancellationToken)
在C:\Code\Hangfire.Mongo\src\Hangfire.Mongo\MongoWriteOnlyTransaction.cs中的Hangfire.Mongo.MongoWriteOnlyTransaction.Commit()处:第400行
在C:\Code\Hangfire.Mongo\src\Hangfire.Mongo\MongoConnection.cs中的Hangfire.Mongo.MongoConnection.SetJobParameter(字符串id、字符串名称、字符串值)处:第76行
在Hangfire.ContinuationsSupportAttribute.AddContinuation(ElectStateContext上下文,waitingState waitingState)
在Hangfire.Profiling.ProfilerExtensions.InvokeAction[TInstance](InstanceAction`1元组)
在Hangfire.Profiling.EmptyProfiler.InvokeMeasured[TInstance,TResult](TInstance实例,Func`2操作,字符串消息)
在Hangfire.Profiling.ProfilerExtensions.InvokeMeasured[TInstance](IProfiler探查器,TInstance实例,操作'1操作,字符串消息)
在Hangfire.States.StateMachine.ApplyState(ApplyStateContext initialContext)
在Hangfire.Client.CoreBackgroundJobFactory.c__;u DisplayClass14_0.b__3(Int32尝试)
在Hangfire.Client.CoreBackgroundJobFactory.c__显示Class15_0.b_0(Int32尝试)
在Hangfire.Client.CoreBackgroundJobFactory.RetryOnException[T](Int32&attemptsLeft,Func`2操作)

感谢您发布此消息

我将在此处解决github问题中的bug:
我们遇到了类似的情况。它可以归结为我们如何对字典序列化的默认MongoDB约定进行重写。这个MongoDB实现硬编码假设如何与它创建的字典交互,如果这些字典没有存储为默认的“文档”,例如ArrayOfarray或ArrayOfDocuments,那么它根本不起作用

我们转向Redis作为存储提供商