예제 #1
0
        /// <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);
        }
예제 #2
0
        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);
        }