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(); }