Ejemplo n.º 1
0
        public void Write(object value, IHeaderProperties header)
        {
            Guard.ArgumentNotNull(value, "value");
            if (!(header is BasicHeader))
                throw new ArgumentException("Only type MessageHeader allowed currently");

            message = new PubMessage();
            byte[] compressedMessage = null;
            header.Serialization = SerializationType.Binary;
            header.ContentEncoding = "utf-8";
            var messageBody = new BinaryTranscoder().Serialize(value, header.Type);
            if (messageBody != null)
                if (header.Compression != CompressionType.None)
                    if (messageBody.Length > CompressionThreshold)
                        compressedMessage = new GzipCompresser().Compress(messageBody);
                    else
                        header.Compression = CompressionType.None;

            message.Body = compressedMessage ?? (messageBody ?? new byte[] { });
            message.Size += message.Body.Length;

            header.ContentLength = message.Body.Length;

            var headerBytes = new ThriftJsonTranscoder().Serialize(header, MessageType.Object);
            if (headerBytes != null && headerBytes.Length > 0)
            {
                message.Header = Encoding.UTF8.GetString(headerBytes);
                message.Size += headerBytes.Length;
            }

            message.ExchangeName = header.ExchangeName;
            message.Subject = header.Subject;
            message.MessageID = header.MessageID;
        }
Ejemplo n.º 2
0
        public async Task PublishMessage()
        {
            var message = new PubMessage();

            message.Name = "测试2";
            await _client.Publish("Test.queue5.Pub", "TestExc.jqy", message);
        }
Ejemplo n.º 3
0
 public static void BocastMessage(PubMessage message)
 {
     UseConnection(hubPrx =>
     {
         hubPrx.Invoke <PubMessage>("BroadCastMessage", message)
         .ContinueWith(task =>
         {
             if (task.IsFaulted)
             {
             }
         }).Wait();
     });
 }
Ejemplo n.º 4
0
        public Tuple <Exception, PubMessage> Add(PubMessage message)
        {
            try
            {
                using (var cn = new SqlConnection(this._connectionString))
                {
                    var result = cn.QueryFirstOrDefault <PubMessage>(
                        "NSP_PubMessage_Add",
                        new
                    {
                        message.Content
                    },
                        commandType: CommandType.StoredProcedure);

                    return(Tuple.Create <Exception, PubMessage>(null, result));
                }
            }
            catch (Exception ex)
            {
                return(Tuple.Create <Exception, PubMessage>(ex, null));
            }
        }
Ejemplo n.º 5
0
        /// <summary>
        /// 发布数据至缓存队列
        /// </summary>
        /// <param name="identifier"></param>
        /// <param name="pubMessage"></param>
        internal void PublishToBuffer(MessageProducer producer, PubMessage message )
        {

           // producer.FlowControl(producer,new FlowControlEventArgs());
          

           // Buffer.PublishMessage(producer, pubMessage);
        }
Ejemplo n.º 6
0
 public PubMessage ToMessage()
 {
     var tmp = message;
     message = null;
     return tmp;
 }
Ejemplo n.º 7
0
 public void BroadCastMessage(PubMessage message)
 {
     Clients.Others.BroadCastMessage(message);
 }