Пример #1
0
        public void ConfigureServices(IServiceCollection services)
        {
            services
            .AddMvc()
            .SetCompatibilityVersion(CompatibilityVersion.Version_2_1)
            .AddJsonOptions(c =>
            {
                c.SerializerSettings.ContractResolver = new PrivateSetterContractResolver();
            });

            services.AddSwaggerGen(c =>
            {
                c.SwaggerDoc("v1", new Info {
                    Title = "Shopping Basket API", Version = "v1"
                });
                c.IncludeXmlComments(
                    Path.Combine(AppContext.BaseDirectory, GetType().Assembly.GetName().Name + ".xml"),
                    includeControllerXmlComments: true);
            });

            var actorSystem = ActorSystem.Create("ShoppingBasket");

            services.AddSingleton(actorSystem);

            var productsManager = new NamedActorRef <ProductsManagerActor>(actorSystem);

            services.AddSingleton(productsManager);

            var basketsManager = new NamedActorRef <BasketsManagerActor>(
                actorSystem,
                Props.Create <BasketsManagerActor>(productsManager.Actor));

            services.AddSingleton(basketsManager);
        }
Пример #2
0
 public ProductController(NamedActorRef <ProductsManagerActor> productsManager)
 {
     _productsManager = productsManager.Actor;
 }
 public BasketController(NamedActorRef <BasketsManagerActor> basketsManager)
 {
     _basketsManager = basketsManager.Actor;
 }