【发布时间】:2015-05-11 19:39:10
【问题描述】:
场景: 我想实现一个 MSMQ,其中用户通过 System.Messaging API 输入消息。并且应该有一个监听器,它总是观察这个队列,所以当队列中有消息时,我想更新数据库。
我的第一个方法是实现 MSMQ 触发器。我能够实现 COM 互操作 dll 触发器。但是我无法进行数据库操作,我无法弄清楚出了什么问题,我尝试了很多。然后我开始了解这个 WCF MSMQ 绑定。由于我是这个 WCF 的新手,所以我有一些疑问。
在这种情况下,哪种是托管 WCF 的最佳方法。是带有 WAS 的 IIS 还是 Windows 服务?
而对于这种监听服务是需要客户端的还是可以直接在Service主机操作下编写数据库操作而不需要客户端调用?
【问题讨论】:
-
你用的是什么数据库?
-
我使用的是 SQL 服务器。我试图在 COM 触发器中引用实体框架。
-
IIS 和 Windows 服务都是可行的选择。使用 IIS,请注意,在某些情况下,您的队列处理可能会卡住,因为工作进程已被 IIS 清理并且没有生成新进程(但偶尔会执行一次 HTTP 请求,以获取元数据示例可以使所有内容保持活力)。
-
所以我们根本不需要客户端来消费这个服务
标签: c# .net asp.net-mvc wcf msmq