Esempio n. 1
0
        public IHandlerScope CreateScope()
        {
            if (_scopeFactory == null)
            {
                var provider = _serviceProviderAccessor();
                if (provider == null)
                {
                    throw new InvalidOperationException("container have not been setup properly yet.");
                }
                _scopeFactory = new MicrosoftHandlerScopeFactory(provider);
            }

            return(_scopeFactory.CreateScope());
        }
        public async Task Should_be_able_To_query_and_get_a_result()
        {
            var serviceProvider = new ServiceCollection()
                                  .AddScoped <IQueryHandler <FindUser, FindUserResult>, FindUserHandler>()
                                  .BuildServiceProvider();
            var            scopeFactory = new MicrosoftHandlerScopeFactory(serviceProvider);
            FindUserResult actual;

            using (var scope = scopeFactory.CreateScope())
            {
                var invoker = new MessageInvoker(scope);
                var bus     = new ScopedQueryBus(invoker);
                actual = await bus.QueryAsync(new FindUser());
            }

            actual.Should().NotBeNull();
        }