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)); } } } }
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(); } }
//------------------------------------------------------------------------------------------------------------------------- // //------------------------------------------------------------------------------------------------------------------------- /// <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); } }
/// <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); } }
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(); } }