Ejemplo n.º 1
0
        void QReader_QReadEvents(object sender, ReceiveCompletedEventArgs e)
        {
            QMessage _qmessage = e.Message.Body as QMessage;

            QClient _client  = new QClient(_qmessage);
            string  _command = _qmessage.Command.ToLower();

            string _message = _qmessage.Message;

            if (_qmessage.UsePackage == true)
            {
                _message = Serialization.SNG.ReadPackage <string>(_qmessage.Package);
            }

            if (Environment.UserInteractive == true)
            {
                if (e.Message.Label != "CFG")
                {
                    ISigner.WriteDebug(String.Format("READ: '{0}', {1}, {2}, {3}, {4}, {5}, {6}", e.Message.Label, _qmessage.Command, _qmessage.ProductId, _qmessage.pVersion, _qmessage.IpAddress, _qmessage.HostName, _message));
                }
                else
                {
                    var    _dbps        = _qmessage.Package.ToParameters();
                    string _companyId   = _dbps["companyId"].ToString();
                    string _corporateId = _dbps["corporateId"].ToString();
                    string _productId   = _dbps["productId"].ToString();
                    string _pVersion    = _dbps["pVersion"].ToString();
                    string _appkey      = _dbps["appkey"].ToString();
                    string _appvalue    = _dbps["appValue"].ToString();

                    ISigner.WriteDebug(String.Format("READ: '{0}', {1}, {2}, {3}, {4}, {5}, {6}", e.Message.Label, _companyId, _corporateId, _productId, _pVersion, _appkey, _appvalue));
                }
            }

            if (e.Message.Label == "CMD")         // command
            {
                string _product = _qmessage.ProductId;

                if (_product != ISigner.Manager.ProductId)
                {
                    if (_command == "pong")
                    {
                        QWriter.SetPingFlag(new QClient(_qmessage));
                    }
                    else if (_command == "signin")
                    {
                        QWriter.AddAgency(ISigner.Manager, _qmessage);
                    }
                    else if (_command == "signout")
                    {
                        QWriter.RemoveAgency(ISigner.Manager, new Guid(_message));
                    }
                }
            }
        }
Ejemplo n.º 2
0
        public void TestObjectSerializationQ2()
        {
            var expressions = new QExpressions(new Dictionary<string, string> {{"q2", "..\\..\\test\\QExpressions.out"}});
            foreach (string expr in expressions.GetExpressions("q2"))
            {
                var stream = new MemoryStream();
                var reader = new BinaryReader(stream);
                var writer = new QWriter(stream, Encoding.ASCII, 1);
                int dataSize = writer.Write(expressions.GetReferenceObject("q2", expr), MessageType.Sync);
                stream.Seek(8, SeekOrigin.Begin);

                Assert.AreEqual(expressions.GetBinaryExpression("q2", expr), reader.ReadBytes(dataSize),
                                "Serialization failed for q expression: " + expr);

                stream.Close();
            }
        }
Ejemplo n.º 3
0
        //-------------------------------------------------------------------------------------------------------------------------
        //
        //-------------------------------------------------------------------------------------------------------------------------

        /// <summary>
        ///
        /// </summary>
        public void Start()
        {
            ISigner.WriteDebug(String.Format("server address {0}...", WcfService.WcfAddress));

            try
            {
                WcfService.ServerHost.Open();

                QReader.QReadEvents   += QReader_QReadEvents;
                QReader.QRemoveEvents += QReader_QRemoveEvents;

                //CPermit.QStart();
                QWriter.QStart(ISigner.Manager);
            }
            catch (Exception ex)
            {
                ELogger.SNG.WriteLog(ex);
            }
        }
Ejemplo n.º 4
0
        /// <summary>
        ///
        /// </summary>
        public void Stop()
        {
            ISigner.WriteDebug("Stop");

            try
            {
                QWriter.QStop(ISigner.Manager);
                //CPermit.QStop();

                if (m_wcf_service != null)
                {
                    m_wcf_service.Stop();
                    m_wcf_service = null;
                }
            }
            catch (Exception ex)
            {
                ELogger.SNG.WriteLog(ex);
            }
        }
Ejemplo n.º 5
0
        public void TestObjectSerializationQ2()
        {
            var expressions = new QExpressions(new Dictionary <string, string> {
                { "q2", "..\\..\\test\\QExpressions.out" }
            });

            foreach (var expr in expressions.GetExpressions("q2"))
            {
                var stream   = new MemoryStream();
                var reader   = new BinaryReader(stream);
                var writer   = new QWriter(stream, Encoding.ASCII, 1);
                var dataSize = writer.Write(expressions.GetReferenceObject("q2", expr), MessageType.Sync);
                stream.Seek(8, SeekOrigin.Begin);

                Assert.AreEqual(expressions.GetBinaryExpression("q2", expr), reader.ReadBytes(dataSize),
                                "Serialization failed for q expression: " + expr);

                stream.Close();
            }
        }