msmq用户的正确执行方式是什么

Msmq what is the right way of implementation of users

所以,这可能不是正确的标题,我不确定如何放置它以及如何解释,让我们试试!

我有一个管理超过 720,000 个用户的系统,我直到现在才使用 queue,我想开始使用它,让我们举个例子 os a class持有用户

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

所以,如果我想在我的 queue 中添加一条消息,它很简单

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 名用户有不同名称的消息,

等等..

我应该为每个用户设置不同的 queue,还是我可以要求系统仅通过用户名向我发送用户 "alon" 的消息?

另一个问题,我如何让我的代码继续接收消息? 运行 在 while 循环中?

谢谢大家!美好的一天

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