SQL Service Broker 2008中的Monolog对话

时间:2010-05-12 01:10:20

标签: sql-server-2008 service-broker

我有一个场景,我需要处理(在SQL Server中)作为文件夹中的.xml文件实时传递的消息。

我开始调查SQL Service Broker以满足我的排队需求。基本上,我希望Service Broker获取我的.xml文件,并在它们到达文件夹时将它们放入队列中。但是,SQL Service Broker不支持“Monolog”对话,至少不支持当前版本。它仅支持启动器和目标服务之间的对话。

我可以使用MSMQ但是我将有两件事要维护 - 用于MSMQ中的文件处理的.Net代码和SQL Server T-SQL存储过程。我还有什么选择?

感谢。

2 个答案:

答案 0 :(得分:1)

您需要利用FileSystemWatcher来监控目录。您的实现可以简单地响应新文件并使用事件来排队文件的处理(如果这样可以改善您的生活,可以在Service Broker中实现)。

正如其他海报所提到的,你真的倒退了:Service Broker响应消息;某人必须发送消息才能回复。它不是通用服务主机进程。根据功能集和向外扩展/向上扩展要求,您可能希望查看BizTalk,因为这是一个非常常见的模式,它有大量的基础设施来支持所有的“正常业务成本”组件,以支持事情是可靠的,实际上工作。

一旦你自己编写/调试了所有必需的代码,你就会发现你花的钱多于许可证的成本。但是,这一切都与需求有关。

答案 1 :(得分:0)

无。你所拥有的整个想法都被打破了 - 因为你必须从目录中获取文件,所以开始使用服务代理是没有意义的。你需要一个倾听过程,所以你也可以让听力过程进行处理。