Msmq用户实施的正确方法是什么

时间:2016-02-19 17:16:49

标签: c# .net msmq

所以,这可能不是正确的标题,我不知道如何把它和如何解释,让我们尝试!

我有一个管理超过720,000个用户的系统,直到现在我都没有使用队列,我想开始使用它,让我们举一个例子来看一个持有用户的类

[Serializable]
    public class UserName
    {
        public string UserNameName { get; set; }
        public string TheResonILikeTo { get; set; }
    }

所以,如果我想在我的队列中放一条消息,那就简单了

public static void Createandsendmessageclass()
        {
            //From Windows Service, use this code
            MessageQueue messageQueue = null;
            if (MessageQueue.Exists(@".\Private$\SomeTestName"))
            {
                messageQueue = new MessageQueue(@".\Private$\SomeTestName");
                messageQueue.Label = "Testing Queue";
            }
            else
            {
                // Create the Queue
                MessageQueue.Create(@".\Private$\SomeTestName");
                messageQueue = new MessageQueue(@".\Private$\SomeTestName");
                messageQueue.Label = "Newly Created Queue";
            }
            UserName user = new UserName();
            user.UserNameName = "Alon";
            user.TheResonILikeTo = "Fuc??";
            messageQueue.Send(user);
        }

直到这里一切都很顺利。没什么好担心的。

但是,假设我有720,000个用户拥有不同名称的邮件,

  • 阿龙
  • 埃雷兹 * Ylan

依旧......

我应该为每个用户设置不同的队列,还是我可以要求系统只通过用户名给我“alon”用户的消息?

另一个问题,我怎么能告诉我的代码继续收到消息?在一个循环中运行?

谢谢大家!美好的一天

1 个答案:

答案 0 :(得分:1)

最重要的是要记住,MSMQ是一种网络协议,而不是数据库。它不适合用于存储720,000个用户的消息的系统。 用户的所有数据都应存储在数据库中。