Warning: file_get_contents(/data/phpspider/zhask/data//catemap/7/wcf/4.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 使用具有动态端点的MSMQ实现订阅者/发布者系统_C#_Wcf_Triggers_Msmq_Nservicebus - Fatal编程技术网

C# 使用具有动态端点的MSMQ实现订阅者/发布者系统

C# 使用具有动态端点的MSMQ实现订阅者/发布者系统,c#,wcf,triggers,msmq,nservicebus,C#,Wcf,Triggers,Msmq,Nservicebus,我正在尝试创建一个反馈系统,所有消息都会发布到该系统,然后发布回正确的子系统。我们正在大量使用队列,我想让订户代码尽可能干净。我想关闭我进入反馈系统并发布到其特定订户的消息id。我不想为每个订阅者提供监听消息的服务。。我想我可以为每个订阅者设置一个队列,并触发调用com+组件。。但是我在寻找一种更现代的方式 我在研究NServiceBus,但似乎我需要为每个侦听系统创建一个服务/可执行文件/Web服务(创建一个C#dll和调用一个方法的工作量要小一些),而且我不确定NServiceBus是否能够

我正在尝试创建一个反馈系统,所有消息都会发布到该系统,然后发布回正确的子系统。我们正在大量使用队列,我想让订户代码尽可能干净。我想关闭我进入反馈系统并发布到其特定订户的消息id。我不想为每个订阅者提供监听消息的服务。。我想我可以为每个订阅者设置一个队列,并触发调用com+组件。。但是我在寻找一种更现代的方式

我在研究NServiceBus,但似乎我需要为每个侦听系统创建一个服务/可执行文件/Web服务(创建一个C#dll和调用一个方法的工作量要小一些),而且我不确定NServiceBus是否能够基于预加载的配置(从db加载)处理动态端点。WCF也是一种选择。。它可以处理动态端点

您认为对于新系统订阅的代码/可伸缩性租赁量而言,什么是最好的解决方案


谢谢

如果您对在线解决方案满意,您可以查看最新的.NET Services SDK for Windows Azure,它具有队列服务总线,它依赖于WCF消息并支持路由等。这里有一些关于此的博客文章


您可以尝试的另一个框架是MassTransit

,如果您对在线解决方案满意,您可以查看最新的.NET Services SDK for Windows Azure,它具有队列服务总线,它依赖于WCF消息并支持路由等。这里有一些关于此的博客文章


您可以尝试的另一个框架是MassTransit,它似乎是在寻找服务主机,而不是消息代理。如果是这样,微软推荐的方法是在IIS中托管WCF服务。他们仍然可以使用MSMQ作为传输,但服务本身将由IIS管理。IIS自早期作为HTTP服务器以来已经有了很大的发展,现在它更接近应用服务器,可以选择传输(TCP、MSMQ、HTTP)、池、激活、生存期策略等

虽然我发现WCF+MSMQ+IIS有些过于复杂,但这是你在微软领域所付出的代价


对于漂亮而简单的MessageBroker,您可以使用Active MQ而不是MSMQ,它将为您提供消息代理以及发布/订阅。在.NET中使用它非常容易,请查看以下链接:

您似乎在寻找服务主机,而不是消息代理。如果是这样,微软推荐的方法是在IIS中托管WCF服务。他们仍然可以使用MSMQ作为传输,但服务本身将由IIS管理。IIS自早期作为HTTP服务器以来已经有了很大的发展,现在它更接近应用服务器,可以选择传输(TCP、MSMQ、HTTP)、池、激活、生存期策略等

虽然我发现WCF+MSMQ+IIS有些过于复杂,但这是你在微软领域所付出的代价

对于美观简单的message broker,您可以使用Active MQ而不是MSMQ,它将为您提供消息代理以及发布/订阅。在.NET中使用它非常容易,请查看以下链接: