コード例 #1
0
 internal ClusterActorSystem(
     Assembly[] assemblies,
     IServiceProvider serviceProvider,
     ActorMiddlewarePipeline pipeline,
     IActorRefMiddleware middleware = null)
     : base(assemblies, serviceProvider, middleware)
 {
     Register(pipeline, assemblies);
 }
コード例 #2
0
        void Register(ActorMiddlewarePipeline pipeline, IEnumerable <Assembly> assemblies)
        {
            foreach (var each in assemblies.SelectMany(x => x.GetTypes().Where(IsActorGrain)))
            {
                var implementation = new ActorGrainImplementation(each, pipeline.Middleware(each));
                implementations.Add(each, implementation);
            }

            bool IsActorGrain(Type type) => !type.IsAbstract && typeof(ActorGrain).IsAssignableFrom(type);
        }