我正在开发的项目使用商用软件包将音频路由到各个目的地。使用此包是一个单独的应用程序,可用于将音频路由软件生成的事件记录到数据库,例如将设备1连接到设备3。
我的任务是编写一个应用程序来响应音频路由软件生成的特定事件,例如对设备3的任何连接作出反应。
我注意到音频路由软件使用MSMQ将事件信息发布到事件记录器。这意味着如果录像机软件运行一段时间,事件数据可能会累积。
我找到了队列 - “。\ private $ \ AudioLog”,并希望执行以下操作:
检测并处理新邮件 他们被输入队列。
允许当前事件录制 软件继续 像以前一样工作 - 因此消息 不能被我删除 应用
现在我注意到我可以使用MessageQueue来查看队列,以便在不删除的情况下读取消息,还可以使用GetAllMessages()来查看事件记录器未删除的所有消息。
如果没有连接录音软件,那么我可以看到我可以轻松地收集信息数据,但我看不出如何确保在录音机删除信息之前我能看到一条信息连接。
理想情况下,我想将我的应用程序添加为消息队列的第二个目标。这可能以编程方式吗?
如果不是因为我拥有管理员权限,那么访问带有队列的机器是否可以手动配置队列以分支我可以连接软件的队列的第二个副本?
答案 0 :(得分:1)
Msmq具有日记功能。您可以将队列配置为具有日记。然后,从队列中删除的每条消息(通过读取操作)都将移动到日志队列而不会被删除。然后,您可以从期刊中阅读(或查看)。如果您正在使用peek操作,请确保您有一个不时删除日记的作业。