/// <summary> /// Cria um serviço em tempo de execução por meio de um processo de lazy-loading, à partir de um serviço original criado pelo <see cref="DnControllerController{T}"/>. /// </summary> /// <param Nome="serviceType"> /// O tipo de serviço a ser criado. /// </param> /// <param Nome="sessionId"> /// O identificador de sessão do usuário durante a requisição ao controller. /// </param> /// <returns> /// O serviço criado. /// </returns> internal static object CriarServicoEmTempoReal(Type tipoDeServico, Guid identificadorDaRequisicao) { var service = FabricaDeServicoLazy.Criar(tipoDeServico, identificadorDaRequisicao); service.DefinirSessaoDoUsuario(Setup.ObterSessaoDeUmaRequisicao(identificadorDaRequisicao)); return(service); }
internal static DnServicoTransacionalBase Criar(Type tipoDeServico, object httpContext, SessaoDeRequisicaoDoUsuario sessaoDeRequisicao = null) { var sessionId = Guid.NewGuid(); tipoDeServico = GetSpecializedService(tipoDeServico); var service = FabricaDeServicoLazy.Criar(tipoDeServico, sessionId); var userSession = sessaoDeRequisicao ?? CreateUserSession(httpContext, sessionId, service); service.DefinirSessaoDoUsuario(userSession); return(service); }