MongoDB的Akka.Net持久性

问题描述 投票:1回答:1

[我正在尝试使用Mongodb实现Akka Persistence,但出现错误提示

"Method 'DeleteAsync' in type 
'Akka.Persistence.MongoDb.Snapshot.MongoDbSnapshotStore' from assembly 
'Akka.Persistence.MongoDb, Version=1.0.4.1, Culture=neutral, 
PublicKeyToken=null' does not have an implementation"

这是我的配置:

var config = ConfigurationFactory.ParseString(@"
    akka {
        persistence {
        publish-plugin-commands = on
        snapshot-store {
            plugin = ""akka.persistence.snapshot-store.mongodb""
            mongodb {
                class = ""Akka.Persistence.MongoDb.Snapshot.MongoDbSnapshotStore, Akka.Persistence.MongoDb""
                connection-string = ""mongodb://user:[email protected]:10083/DbName""
                collection = ""AkkaSnapshotStore""
            }
        }
        journal {
            plugin = ""akka.persistence.journal.mongodb""
            mongodb {
                class = ""Akka.Persistence.MongoDb.Journal.MongoDbJournal, Akka.Persistence.MongoDb""
                connection-string = ""mongodb://user:[email protected]:10083/DbName""
                collection = ""AkkaEventJournal""
            }
        }
    }
}");

我认为我已经正确创建了一个演员系统:

https://gist.github.com/amarwadi/a887b26e14b0d42191b7

并且正在向永久演员发送消息,并且我不断收到以下消息

[ERROR][1/2/2016 2:36:36 AM][Thread 0011][akka://example123/user/section-actor] Method 'DeleteAsync' in type 'Akka.Persistence.MongoDb.Snapshot.MongoDbSnapshotStore' from assembly 'Akka.Persistence.MongoDb, Version=1.0.4.1, Culture=neutral, PublicKeyToken=null' does not have an implementation.
Cause: System.TypeLoadException: Method 'DeleteAsync' in type 'Akka.Persistence.MongoDb.Snapshot.MongoDbSnapshotStore' from assembly 'Akka.Persistence.MongoDb, Version=1.0.4.1, Culture=neutral, PublicKeyToken=null' does not have an implementation.
at System.RuntimeTypeHandle.GetTypeByName(String name, Boolean throwOnError, Boolean ignoreCase, Boolean reflectionOnly, StackCrawlMarkHandle stackMark, IntPtr pPrivHostBinder, Boolean loadTypeFromPartialName, ObjectHandleOnStack type)
at System.RuntimeTypeHandle.GetTypeByName(String name, Boolean throwOnError, Boolean ignoreCase, Boolean reflectionOnly, StackCrawlMark& stackMark, IntPtr pPrivHostBinder, Boolean loadTypeFromPartialName)
at System.RuntimeType.GetType(String typeName, Boolean throwOnError, Boolean ignoreCase, Boolean reflectionOnly, StackCrawlMark& stackMark)
at System.Type.GetType(String typeName, Boolean throwOnError)
at Akka.Persistence.PersistenceExtension.CreatePlugin(String configPath, Func2 dispatcherSelector) at Akka.Persistence.PersistenceExtension.<>c__DisplayClass13_0.<SnapshotStoreFor>b__0() at System.Lazy1.CreateValue()
--- End of stack trace from previous location where exception was thrown ---
at System.Lazy`1.get_Value()
at Akka.Persistence.PersistenceExtension.SnapshotStoreFor(String snapshotPluginId)
at Akka.Persistence.Eventsourced.get_SnapshotStore()
at Akka.Persistence.Eventsourced.LoadSnapshot(String persistenceId, SnapshotSelectionCriteria criteria, Int64 toSequenceNr)
at Akka.Persistence.Eventsourced.b__76_0(Receive receive, Object message)
at Akka.Persistence.Eventsourced.AroundReceive(Receive receive, Object message)
at Akka.Actor.ActorCell.ReceiveMessage(Object message)
at Akka.Actor.ActorCell.Invoke(Envelope envelope)
akka.net
1个回答
© www.soinside.com 2019 - 2024. All rights reserved.