public override async Task <TResponse> ClientStreamingServerHandler <TRequest, TResponse>(IAsyncStreamReader <TRequest> requestStream, ServerCallContext context, ClientStreamingServerMethod <TRequest, TResponse> continuation) { using (var scope = _serviceProvider.CreateScope()) { ScopeServiceProvider.Current = scope; var unitOfWork = CreateUnitOfWork(continuation.GetMethodInfo()); var response = await continuation(requestStream, context); if (unitOfWork != null) { await unitOfWork.CompleteAsync(); } return(response); } }