コード例 #1
0
        public IShardedEntityRegistry Build(IServiceProvider services)
        {
            foreach (var extensionDelegate in ExtensionDelegates)
            {
                extensionDelegate(ActorSystem);
            }

            var registry = new ShardedEntityRegistry(ActorSystem);

            foreach (var registryDelegate in RegistryDelegates)
            {
                registryDelegate.Invoke(services, registry);
            }

            var readsideConfig = new ReadSideConfig(ActorSystem.Settings.Config);
            var readside       = new ReadSideImpl(
                ActorSystem,
                readsideConfig,
                registry
                );

            foreach (var readsideDelegate in ReadSideDelegates)
            {
                readsideDelegate.Invoke(readside);
            }

            return(registry);
        }
コード例 #2
0
        public async Task Test(string id)
        {
            var registry = new ShardedEntityRegistry(ActorSystemFixture.ActorSystem);

            registry.Register <TestEntity, TestCommand, TestEvent, TestState>(() => new TestEntity(ActorSystemFixture.ActorSystem));
            var entityRef = registry.RefFor <TestEntity>(id);

            var reply = await entityRef.Ask(new TestCommand.Get());

            Assert.IsType <TestState>(reply);
        }