我的Windows 组件向导里没有消息队列的选项?

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了我的Windows 组件向导里没有消息队列的选项?相关的知识,希望对你有一定的参考价值。

我谁知道怎么弄出来不

home版是不可以的,必须是专业版的,我笔记本也是正版的HOME版,网上搜了一些办法但都行不通,你还是换盗版的专业版吧,安装的时候还要注意下面的问题:
简化版的好像不行,用番茄花园修改过的系统肯定不行这个我实际试过的,
在安装Wincc的时候它会自动检测系统还需要安装的组件。
第一个:SQL Server 2000 SP3 For Wincc,需要注意的是系统如果不是原版wincc的这个SQL可能安装不上,你安装的时候会出现“Setup finished with err”。
第二个:信息服务(IIs)和Message Queue(消息队列),安装方法为在“控制面板”-“添加Windows组件”中选择“Internet信息服务(IIS)”与“消息队列”,这里要注意,选中消息队列后,点出详细信息后把“触发器”前面的勾要去掉,安装需要操作系统的安装光盘。
第三个:安装两个XP 新补丁KB319740 KB889673 解决办法:重新安装msdtc服务

开始--运行--cmd

net stop msdtc

msdtc -uninstall

msdtc - install

net start msdtc参考资料:www.jiaoyichong.cn
参考技术A 讲清楚一点啊

消息队列简介

消息队列属于Windows系统组件服务。.net对其进行了封装.其可以为我们提供非常好的分布式应用服务

 

 

可以通过Visual Studio打开Message Queues并查看消息

 

image_2  

 

或者可以通过我的电脑右键管理菜单查看服务也可以.

 

image_4

 

以下是其特性,来自MSDN的解释

 

稳定性 — 组件失败对消息的影响程度远远小于组件间的直接调用,因为消息存储在队列中并一直留在那里,直到被适当地处理。消息处理同事务处理相似,因为消息处理是有保证的。

 

消息优先级 — 更紧急或更重要的消息可在相对不重要的消息之前接收,因此可以为关键的应用程序保证足够的响应时间。

 

脱机能力 — 发送消息时,它们可被发送到临时队列中并一直留在那里,直到被成功地传递。当因任何原因对所需队列的访问不可用时,用户可以继续执行操作。同时,其他操作可以继续进行,如同消息已经得到了处理一样,这是因为网络连接恢复时消息传递是有保证的。

 

事务性消息处理 — 将多个相关消息耦合为单个事务,确保消息按顺序传递、只传递一次并且可以从它们的目标队列中被成功地检索。如果出现任何错误,将取消整个事务。

 

安全性 - MessageQueue 组件基于的消息队列技术使用 Windows 安全来保护访问控制、提供审核并对组件发送和接收的消息进行加密和验证。

 

以下是我的理解

 

1.脱机能力 数据库难免有挂的时候,可以暂时把数据存在这里,然后处理.保证了相应的时间

 

2.数据批量处理 可以预先把数据存放此处,待一定时间批量进行处理,进一步提高了程序的吞吐能力

 

3.消息队列顾名思义,当然有消息队列优先级之分

 

4.最大的好处则是可用于分布式应用,用户则不需要关心是否是数据库。其实是一个非常好的数据缓存存储器了,而不会因为机器挂掉而资料丢失

 

来看一段基本的代码

 

static void Main(string[] args)

   

     String queuename = @".\\private$\\NOTIFICATIONS";

 

     if (!MessageQueue.Exists(queuename))

     

       MessageQueue.Create(queuename);

     

 

     MessageQueue que = new MessageQueue(queuename);

     que.Formatter = new BinaryMessageFormatter();

 

     while (true)

     

       using (Message msg = que.Receive())

       

         String str = (String) msg.Body;

         Console.WriteLine("Received: 0", str);

       

     

   

 

队列的几个概念

 

“公共队列”在整个“消息队列”网络中复制,并且有可能由网络连接的所有站点访问。

 

“专用队列”不在整个网络中发布。相反,它们仅在所驻留的本地计算机上可用。专用队列只能由知道队列的完整路径名或标签的应用程序访问。

 

“管理队列”包含确认在给定“消息队列”网络中发送的消息回执的消息。指定希望 MessageQueue 组件使用的管理队列(如果有的话)。

 

“响应队列”包含目标应用程序接收到消息时返回给发送应用程序的响应消息。指定希望 MessageQueue 组件使用的响应队列(如果有的话)。

 

系统生成的队列一般分为以下几类:

 

“日记队列”可选地存储发送消息的副本和从队列中移除的消息副本。每个“消息队列”客户端上的单个日记队列存储从该计算机发送的消息副本。在服务器上为每个队列创建了一个单独的日记队列。此日记跟踪从该队列中移除的消息。

 

“死信队列”存储无法传递或已过期的消息的副本。如果过期消息或无法传递的消息是事务性消息,则被存储在一种特殊的名为“事务性死信队列”的死信队列中。死信存储在过期消息所在的计算机上。有关超时期限和过期消息的更多信息,请参见默认消息属性。

 

“报告队列”包含指示消息到达目标所经过的路由的消息,还可以包含测试消息。每台计算机上只能有一个报告队列。

 

“专用系统队列”是一系列存储系统执行消息处理操作所需的管理和通知消息的专用队列。

以上是关于我的Windows 组件向导里没有消息队列的选项?的主要内容,如果未能解决你的问题,请参考以下文章

PetShop 4.0学习笔记:消息队列MSMQ

消息队列简介

windwos组件自动化安装-命令行DISM安装iis和msmq消息队列

如何安装消息队列

消息队列客户端开发向导二(基于 Spring 的 amqp 实现)

消息队列客户端开发向导二(基于 Spring 的 amqp 实现)