コード例 #1
0
 private BSMonitoramento InternalExecuteProcedure(SituacaoMonitoramento SituacaoSolicitada, bool concatenarOcorrencias, string ocorrencia)
 {
     using (var scope = new TransactionScope(TransactionScopeOption.RequiresNew))
     {
         using (var session = SessionHelper.SessionFactory.OpenSession())
         {
             var procedureInvoker = new ProcedureInvoker(session);
             var bsMonitoramento  = BSMonitoramento.Executar(procedureInvoker,
                                                             logger,
                                                             (long?)SituacaoSolicitada,
                                                             HandleRegistro,
                                                             Descricao,
                                                             UsuarioExecucao,
                                                             HostExecucao,
                                                             ProgressoAtual,
                                                             ProgressoMaximo,
                                                             HostAbortar,
                                                             UsuarioAbortar,
                                                             MensagemAtual,
                                                             ocorrencia,
                                                             HandleRotina,
                                                             TabelaRotina,
                                                             LocalChamada,
                                                             ArquivoLogs,
                                                             "-",
                                                             concatenarOcorrencias ? 1 : 0,
                                                             ChaveCorrelacao,
                                                             HandleProcessoPai,
                                                             BooleanHelper.getBuilderBooleanToString(ProgressoAutomatico),
                                                             BooleanHelper.getBuilderBooleanToString(GerouCriticas));
             scope.Complete();
             return(bsMonitoramento);
         }
     }
 }
コード例 #2
0
        internal static void ChecarTimeout()
        {
            try
            {
                lock (lockObject)
                {
                    var elapsed = new TimeSpan(DateTime.Now.Ticks - ultimaChecagemTimeout);
                    if ((elapsed.TotalMinutes > 60) || (ultimaChecagemTimeout == 0))
                    {
                        using (var scope = new TransactionScope(TransactionScopeOption.RequiresNew))
                        {
                            using (var session = SessionHelper.SessionFactory.OpenSession())
                            {
                                var procedureInvoker = new ProcedureInvoker(session);
                                BSMonitoramentoTimeout.Executar(procedureInvoker, logger);
                                ultimaChecagemTimeout = DateTime.Now.Ticks;

                                scope.Complete();
                            }
                        }
                    }
                }
            }
            catch (Exception e)
            {
                logger.WarnFormat("Erro ao checar timeout de monitoramentos: {0}", e);
            }
        }
コード例 #3
0
        /// <summary>
        /// Realiza a associação de um dado com o monitoramento
        /// </summary>
        /// <param name="dadoAssociar">Instância do dado que está sendo associado</param>
        public void AssociarDado(Entidade dadoAssociar)
        {
            if (dadoAssociar == null)
            {
                return;
            }

            using (var scope = new TransactionScope(TransactionScopeOption.RequiresNew))
            {
                using (var session = SessionHelper.SessionFactory.OpenSession())
                {
                    var procedureInvoker = new ProcedureInvoker(session);
                    BSMonitoramentoAssociarDado.Executar(procedureInvoker, logger, HandleRegistro, dadoAssociar.GetType().ToString(), dadoAssociar.Handle);
                }
                scope.Complete();
            }
        }