现有流程响应用户输入更改表中预订记录的状态字段.
我有另一个要编写的进程,它将为具有特定状态的记录异步运行.它将读取表记录,执行一些操作(包括对第三方Web服务的调用),并更新记录的状态字段以指示处理已完成(或错误,错误计数).
此操作听起来非常类似于队列.在这种情况下使用MSMQ而不是SQL表有什么好处和权衡,为什么我要选择一个而不是另一个?
我们的软件是在表格中添加和更新记录.
这是一项将执行异步处理的新工作(Windows服务).这需要"永远向上".
我知道这个问题之前已被问过了.但环顾四周我仍然无法让自己明白我应该走哪条路.这是我的情景,希望你可以提供帮助:
我们将提供一系列网络服务,这些服务将被数百个移动应用程序按计划进行.这些服务将设备上的数据与新信息一起发送到设备并从它们返回.从设备返回的数据将需要更新单个中央SQL服务器数据库,该数据库还提供多个桌面应用程序和网站.
为了减少这些服务的请求/响应的时间,我们决定在事实之后处理来自设备的数据,方法是将它们粘贴在MSMQ实例中或将序列化的对象存储在临时数据存储中并具有Windows服务稍后处理它们.
所以这是我的选择,但除此之外还有一些可能有助于你们提醒我的事情:
有了这些信息,您认为值得我学习MSMQ还是应该坚持使用更简单的解决方案?
克里斯.
我有一个关于MSMQ的任务......我设计了一个像这样的异步架构:
CLient - > WCF服务(托管在WinService中) - > MSMQ
所以基本上WCF服务接收请求,处理它们,将它们添加到INPUT队列并返回GUID.相同的WCF服务(通过侦听器)从队列中获取第一条消息(执行某些操作......)然后将其放回另一个队列(OUTPUT).
问题是当客户端请求时,如何从OUTPUT队列中检索结果...因为MSMQ不允许随机访问它的消息,唯一的解决方案是遍历所有消息并将其推回,直到找到我需要的确切一个.我不想在这个OUTPUT队列中使用DB,因为客户端施加了一些限制......