zoukankan      html  css  js  c++  java
  • Msmq Helloworld

    直接上代码,简单直观:

    //Author:FengZiLi
    //Date:
    using Tiexue.UI.Common;
    using System;
    using System.Collections.Generic;
    using System.Linq;
    using System.Text;
    using System.Messaging;
    using System.IO;
    
    namespace Battlefront.MsmqStudy
    {
        public class MessageQueueStudy:IDisposable
        {
            public MessageQueueStudy(string messageQueueName)
            {
                this.MessageQueuePath = messageQueueName;
            }
    
            public void Run()
            {
                this.EnsureMessageQueueExist();
                this.SendMessageTest();
                Console.ReadLine();
                this.ReadMessageTest();
            }
    
            private void EnsureMessageQueueExist()
            {
                if (MessageQueue.Exists(this.MessageQueuePath))
                {
                    this.Queue = new MessageQueue(this.MessageQueuePath, QueueAccessMode.SendAndReceive);
                    return;
                }
                this.Queue = MessageQueue.Create(this.MessageQueuePath);
            }
    
            private void ReadMessageTest()
            {
                while (true)
                {
                    Message msg = this.Queue.Receive();
                    using (StreamReader srd = new StreamReader(msg.BodyStream))
                    {
                        Console.WriteLine(srd.ReadToEnd());
                    }
                }
    
                foreach (Message msg2 in this.Queue.GetAllMessages())
                {
                    using (StreamReader srd = new StreamReader(msg2.BodyStream))
                    {
                        Console.WriteLine(srd.ReadToEnd());
                    }
                }
            }
    
            private void SendMessageTest()
            {
                Console.WriteLine("请输入消息");
                Message msg = new Message("Content" + Console.ReadLine());
                this.Queue.Send(msg);
            }
    
    
            public string MessageQueuePath
            {
                get;
                set;
            }
    
            public MessageQueue Queue { get; set; }
    
    
            ~MessageQueueStudy()
            {
                this.Dispose();
            }
    
            private bool _Disposed;
            public void Dispose()
            {
                if (this._Disposed==false && this.Queue != null)
                {
                    this.Queue.Dispose();
                    GC.SuppressFinalize(this);
                }
                this._Disposed = true;
            }
        }
    }
  • 相关阅读:
    Augular JS里的各种ng-
    JS笔记1
    JQuery实战学习--在dreamweaver 8中配置Jquery自动提示
    android 设置桌面背景图片适应屏幕大小
    canvas实现进度条!
    Javascript之Prototype
    Sql Server 之 for xml (path,raw,auto,root)
    MVC 知识点学习3(linq to sql)
    MVC 知识点学习2
    MVC 知识点学习1
  • 原文地址:https://www.cnblogs.com/yanyuge/p/2955778.html
Copyright © 2011-2022 走看看