问题标签 [nservicebus3]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
1 回答
450 浏览

asp.net-mvc-4 - Do I have to do the configuration for nservicebus on mvc4 that would be handled by the EndpointConfig.cs?

In the examples, most of the config is done by the dev by changing AsA_Server to AsA_Client.

However, I can't seem to do that with an ASP.NET MVC4 app.
Do I have to manually configure everything in a web environment?

0 投票
1 回答
425 浏览

nservicebus3 - 尝试构建 NSB v4 后无法连接到远程服务器

在尝试构建 v4 并试图弄清楚为什么我无法让 v3 在 MVC4 环境中工作时,我开始在运行 v3 的新项目中遇到此错误。John Simons 指出了我所缺少的,因此我能够使用 v3 构建 MVC4。但是,该问题与 MVC 项目无关,因为即使我只启动解决方案的“Asa_Server”类库部分也会发生错误。

v4 版本(我假设)是 github 存储库的开发分支。构建出错,说我需要升级 raven(我没有这样做)。我想知道这和它有什么关系吗?

内部异常:

堆栈跟踪

0 投票
1 回答
61 浏览

structuremap - 具有 StructureMap 和 Unobtrusive 的项目不注册订阅

当前的生产 NUGET 构建。视窗 8 x64 VS2012

我遵循了有关如何创建 pub/sub 的示例。默认构建器被替换为结构图,一切正常。我删除了 raven 的队列和数据库,控制台抱怨 client@machine 名称不存在。

我再次删除队列和数据库并注释掉结构图的内容并恢复默认构建器,一切都恢复正常。

不使用默认构建器首先设置队列的新项目也存在同样的问题。

最初的

使用结构图

0 投票
1 回答
412 浏览

ravendb - NServiceBus 与 RavenDB api-keys

我正在尝试将 NServiceBus 3.3.5 设置为使用集中式 RavenDB,而不是在每个应用程序服务器上运行 RavenDB。我可以将 NServiceBus.Persistence 与 Windows 用户名/密码一起使用,并且可以正常工作。但是,如果可能的话,我想使用 APIKeys。

作品:

不起作用:

启动服务时出现以下错误(RavenDB 返回 403)...

用户 Domain\RavenDBTestUser 和 api-key 在 RavenDB 中具有相同的访问权限。我已经经历了这个这个,但那些是从去年年中开始的,大约是 3.2.3 版。3.3.5 中还是一样还是我做错了什么?

PS 连接字符串是从 Raven Studio 复制粘贴的,所以没有错字。

0 投票
2 回答
537 浏览

nservicebus - NServiceBus - 服务器向控制台抛出空消息警告

我有一个从 mvc4 网站到消息处理器的 bus.send("server", command) 客户端。消息处理器被设置为默认值,没有任何自定义初始化。

这是我在 global.asax 中网站端的配置

我查看了NServicebus 发布事件 - 收到空消息,但这没有帮助,我没有只读属性。

0 投票
1 回答
6156 浏览

nservicebus - System.Net.HttpListenerException:无法侦听前缀“xxxx”,因为它与机器上的现有注册冲突

每当部署我们的组件时,我们都会收到以下异常。有时组件本身不会启动,有时服务控制台可能会说已启动但服务不会处理任何消息。错误非常简单。还有一个 HttpListener 仍在监听前缀。

当我们进行深度分析时。

  1. 此问题仅在您运行 NServiceBus.Master 配置文件时发生
  2. 仅当您从服务控制台执行服务重新启动时才会发生此问题
  3. 无论你运行多少个 WorkerThread

让我们困惑的是,当我们更深入地阅读 NSB 代码时,我们发现在对象 Dispose 期间 HttpListener 是关闭的。除此之外,当您停止服务时,整个进程本身都会被杀死,因此机器上不会有任何对象来监听给定的 URL 前缀。但是,我们错了。当我们分析很多闭包时,我们发现即使在 Service-Console 认为该服务已停止之后, NServinceBus.Host 进程仍在运行。每当我们在服务控制台上停止服务时,该进程在机器上仍然处于活动状态,并且需要更长的时间才能完全关闭。因此,当我们执行重新启动时,有可能存在多个当前服务的进程实例——一个正在尝试启动,另一个仍在尝试停止。我们确认重启过程会抛出上述异常。

我们对正在关闭的进程进行了转储。我们发现,尽管服务控制台显示状态为已停止,但进程中仍有后台线程处于活动状态。Dispose 期间有很多锁/ObjWait。确保停止的服务尚未关闭 HttpListener 对象。

我们发现,HttpListener 处于活动状态并正在侦听。

问题:为什么服务控制台报告服务已停止,即使该进程在计算机上仍处于活动状态

注意:要重现此问题,您必须使用 NServiceBus.Master 配置文件将主机安装为 Windows 服务并尝试重新启动服务,您可能需要更多尝试才能解决此问题。

更新:

当我在 HttpChannelReceiver.Start() 上阅读 NSB 代码时,它会在新线程上启动侦听器。

  1. 此侦听器线程是前台线程。(所有其他工作线程都是 BG 线程)
  2. 没有停止信号进入这个前台线程
  3. 没有保存此线程引用的变量/字段 - 中止是不可能的。

这个监听线程只有在ServiceHost杀死当前进程的内存时才回收,直到ServicHost收集到它,这个线程才会被阻止退出当前进程。

0 投票
0 回答
150 浏览

nservicebus - 许多工人的许多分销商

我们是使用 NServiceBus 作为联合系统中的消息传递框架的许可产品。

寻找在新功能中使用它的机会 - 有没有办法构建多站点系统(横向扩展),每个站点/节点在该系统中生成消息并将消息分发给位于多个节点/站点上的工作人员?每个分销商和工人都可以托管在自己的站点(同一个 LAN)上,并且每个站点都可以随时关闭。所有的经销商和工人应该是对称的。

起初,它看起来像是一个经典的“许多生产者对许多竞争消费者”的问题。但是我找不到使用 NServiceBus 实现它的内置方法,因为据我所见,每个工人只能将健康歌曲发送给一个分销商(我可能错了)。

我遇到的另一个问题是有一个集中的 RavenDB 实例来保存分发者订阅。将 RavenDB 放在它自己的“可用性组”中需要额外的资源。有没有办法在同一个站点下托管 RavenDB 实例,在每个站点使用它的本地数据库实例时复制它们的数据?这也会将分销商的 HA 绑定到他们的订阅数据库。

阅读此讨论- http://tech.groups.yahoo.com/group/nservicebus/message/18412 似乎 NServiceBus 需要一个集群来保持已发布数据的 HA。但是为什么分发者不能等待确认消息已被工作人员成功消费和处理,并继续重试将其发布给相同或不同的工作人员?这样,即使 VM 因队列中的数据而宕机,数据也会被发送到当时可用的另一个节点。

编辑:试图在 NServiceBus 官方雅虎组提出同样的问题,但在雅虎组中不断收到 pythonError。

在此先感谢 Rami Prilutsky,dbMotion

0 投票
1 回答
312 浏览

asp.net-mvc-4 - Setting IBus Property in MVC Filter

I'm trying to send a command from a filter in my MVC4 project to my command processor.

The problem:
I can't get an NServiceBus instance in the filter to fill.

The components:

  • ASP.NET MVC 4
  • NServiceBus version 3
  • StructureMap

The Attribute/Filter:

The IOC Code:

Also, my attempt to bypass structuremap completely by passing in the bus instance from the controller resulted in:

At this point I'm pretty sure its something awkward with attributes/filters and structuremap, but I'm not really sure what that is.

WARNING: the accepted answer does not fix the actual problem of getting nservicebus in an action filter, but it does address how to get DI in an action filter. See ASP.NET MVC4 NServiceBus Attribute/Filter StructureMap for the Nservicebus specific question

0 投票
1 回答
402 浏览

asp.net-mvc - ASP.NET MVC4 NServiceBus 属性/过滤器结构映射

我在操作过滤器(属性)中获取 IBus 实例时遇到问题。

在 MVC Filter 中设置 IBus 属性,我知道 DI 和动作过滤器不能很好地发挥作用,我使用接受的答案让它们发挥得很好。问题是让 DI 和动作过滤器发挥出色会破坏 NServiceBus。

同样的问题,John 建议查看音像店解决方案,看看如何完成它。这个答案有两个问题:

  1. 它完全忽略了我正在使用 StructureMap 的事实。
  2. 更重要的是,使用该示例,当我添加自己的派生授权过滤器(见下文)时,IBus 实例仍未被填充。

这是我的猜测,但我不认为 N​​ServiceBus 具有的烘焙 DI 容器可以将 DI 处理为动作过滤器。

当我按照Setting IBus Property in MVC Filter 中指定的步骤操作时,我收到此错误StructureMap Exception Code: 202 No Default Instance defined for PluginFamily NServiceBus.Unicast.Subscriptions.ISubscriptionStorage, NServiceBus.Core, Version=3.3.0.0, Culture=neutral, PublicKeyToken=9fc386479f8a226c

0 投票
1 回答
138 浏览

nservicebus - 在自定义帐户上运行的 NServiceBus 服务

我们目前在不是 LocalSystem 的帐户上运行 NServiceBus (3.3.7) 服务时遇到一些问题。联系 RavenDB 以获取 saga 访问似乎有问题。我们目前收到这样的错误:

我们还通过将 Raven/AnonymousUserAccessMode 设置为 All 将访问权限更改为 raven,但没有成功。有任何想法吗?