我试图使用MongoDB的实施阿卡持久性和我得到的是说"法'DeleteAsync’型'Akka.Persistence.MongoDb.Snapshot.MongoDbSnapshotStore’自组装"Akka.Persistence.MongoDb错误,版本= 1.0.4.1 ,Culture = neutral,PublicKeyToken = null'没有实现"
这是我的配置:
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 "" 连接字符串= "" 的mongodb://用户:pass@paulo.mongohq.com:10083/DBNAME "" 采集= "" AkkaSnapshotStore ""}} {轴颈插件= "" akka.persistence.journal.mongodb "" mongodb的{类= "" Akka.Persistence.MongoDb.Journal.MongoDbJournal,Akka.Persistence.MongoDb "" 连接字符串= "" 的mongodb://用户:通过@圣保罗. mongohq.com: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]类型'Akka.Persistence.MongoDb.Snapshot.MongoDbSnapshotStore'中的方法'DeleteAsync'来自程序集'Akka.Persistence.MongoDb,Version = 1.0.4.1,Culture = neutral,PublicKeyToken = null'没有实现.原因:System.TypeLoadException:方法DeleteAsync'型"Akka.Persistence.MongoDb.Snapshot.MongoDbSnapshotStore"自组装"Akka.Persistence.MongoDb,版本= 1.0.4.1,文化=中立,公钥=空"不具有实现.在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.Rerstime.PersistenceExtension的System.Type.GetType(String typeName,Boolean throwOnError)的System.RuntimeType.GetType(String typeName,Boolean throwOnError,Boolean ignoreCase,Boolean reflectionOnly,StackCrawlMark&stackMark) .CreatePlugin(字符串用configPath,FUNC2 dispatcherSelector)在Akka.Persistence.PersistenceExtension.<> c__DisplayClass13_0.b__0()在System.Lazy1.CreateValue()---从先前位置栈跟踪其中抛出异常---在系统的完.Lazy`1.get_Value()at Akka.Persistence.PersistenceExtension.SnapshotSto reFor(字符串snapshotPluginId)在Akka.Persistence.Eventsourced.get_SnapshotStore()在Akka.Persistence.Eventsourced.LoadSnapshot(字符串persistenceId,SnapshotSelectionCriteria标准,Int64的toSequenceNr)在Akka.Persistence.Eventsourced.b__76_0(接收接收对象消息)在阿卡.Aersistence.Eventsourced.AroundReceive(接收接收,对象消息)在Akka.Actor.ActorCell.Invoke(信封信封)的Akka.Actor.ActorCell.ReceiveMessage(对象消息)
根据MongoDB上Akka.NET Persistence的开发人员的更新,mongo的持久性在1.0.5的引入下被破坏了.它很快就会得到纠正.
https://github.com/akkadotnet/Akka.Persistence.MongoDB/issues/12