Beispiel #1
0
        protected void trataAssinatura(string tipo, string idlogin, string sessionID)
        {
            string                      mensagem    = "";
            ThreadPoolManager           poolManager = ThreadPoolManager.Instance;
            Dictionary <string, string> cabecalho   = MDSUtils.montaCabecalhoStreamer(tipo, null, ConstantesMDS.HTTP_ALGORITMOS_TIPO_ACAO_COMPLETO, idlogin, sessionID);

            logger.DebugFormat("{0} assinatura de {1} de {2}", sessionID, tipo, idlogin);

            // Aqui tem o pulo do gato
            // interrompe o processamento dos eventos ate a chegada do snapshot
            // para nao quebrar a sequencia do sinal do livro
            lock (objLockSnapshot)
            {
                EventoHttpAlgoritmo httpAlgo = new EventoHttpAlgoritmo();
                httpAlgo.idlogin    = idlogin;
                httpAlgo.cabecalho  = cabecalho;
                httpAlgo.algoritmos = poolManager.SnapshotStreamer(idlogin);

                logger.Debug("Snapshot algoritmos de " + idlogin + ": " + httpAlgo.algoritmos.Count + " items");

                mensagem = JsonConvert.SerializeObject(httpAlgo);
                mensagem = MDSUtils.montaMensagemHttp(ConstantesMDS.TIPO_REQUISICAO_ALGORITMO, idlogin, null, mensagem);

                queueToStreamer.Enqueue(mensagem);
            }
        }
        private string GerarSonda()
        {
            EventoHttpSonda sonda = new EventoHttpSonda();

            sonda.cabecalho = MDSUtils.montaCabecalhoStreamer(ConstantesMDS.TIPO_REQUISICAO_SONDA, null, 0, null, null);
            sonda.sonda     = new Dictionary <string, string>();
            sonda.sonda.Add(ConstantesMDS.HTTP_SONDA_DATA, DateTime.Now.ToString("yyyyMMdd"));
            sonda.sonda.Add(ConstantesMDS.HTTP_SONDA_HORA, DateTime.Now.ToString("HHmmss"));

            string mensagem = Newtonsoft.Json.JsonConvert.SerializeObject(sonda);

            return(MDSUtils.montaMensagemHttp(ConstantesMDS.TIPO_REQUISICAO_SONDA, null, null, mensagem));
        }