一、引言

    按照专用队列解释: MachineName\Private$\QueueName,只针对于本机的程序才可以调用的队列,有些情况下为了安全起见定义为私有队列。所以刚开始的时候认为,要想访问远程消息队列,只能使用公共队列。但是后来发现,公共队列依赖Domain Controller(域控),在实际部署的时候,要求使用消息队列的应用一定要在某个域中,有些太苛刻!后来发现,私有队列也是可以远程访问的。(很困惑为什么私有队列只能本地访问,这句话,到处都能看到?!)

    二、工作组下的本地C/S

    2.1、项目建立

    新建4个项目:

C#队列学习笔记:MSMQ入门二

    2.2、项目代码

    2.2.1、Model项目

    /// <summary>
    /// 消息队列实体
    /// </summary>
    [Serializable]
    public class MqMessage
    {
        /// <summary>
        /// 对应Message的Label
        /// </summary>
        public string Label { get; set; }

        /// <summary>
        /// 对应Message的Body,CommandType为操作类型,List<string>为操作列表。
        /// </summary>
        public Dictionary<CommandType, List<string>> Body { get; set; } = new Dictionary<CommandType, List<string>>();

        /// <summary>
        /// 无参构造函数
        /// </summary>
        public MqMessage()
        {
        }

        /// <summary>
        /// 有参构造函数
        /// </summary>
        /// <param name="label"></param>
        /// <param name="body"></param>
        public MqMessage(string label, Dictionary<CommandType, List<string>> body)
        {
            Label = label;
            Body = body;
        }
    }

    /// <summary>
    /// 操作类型
    /// </summary>
    public enum CommandType
    {
        Create = 1, //创建
        Update = 2, //更新
        Delete = 3  //删除
    }
MqMessage.cs

相关文章:

  • 2021-04-27
  • 2021-08-04
  • 2021-07-15
  • 2021-07-16
  • 2021-09-05
  • 2021-05-23
  • 2022-12-23
  • 2022-12-23
猜你喜欢
  • 2021-11-17
  • 2022-12-23
  • 2021-08-15
  • 2021-11-03
  • 2022-01-26
  • 2022-12-23
  • 2022-12-23
相关资源
相似解决方案