IoC、容器和 NServiceBus 混淆

发布于 2024-09-02 05:13:11 字数 468 浏览 6 评论 0原文

这是我的设置

  • Castle Windsor 是我的容器
  • NServiceBus 本身在内部使用它自己的容器,Spring 默认情况下
  • 我正在实现 PubSub 配置。

好的,如果我的 Bus.Publish 发生在我的 IWantToRunAtStartup 类中,那么一切都很好。作为对 Run() 的测试,我们可以启动一个计时器,它将进入服务样式循环。

但是,如果我想从我的应用程序中抽象 NServiceBus,并让我的应用程序继续运行,该怎么办:

new CustomPulisherClass().Notify(ISomeMessage msg);

在这种情况下,我如何实现 CustomPublisherClass。

我的困惑来自于 NServiceBus 已经作为服务运行,它已经“启动”了。如何获取 Bus 对象的正确实例?

Here is my setup

  • Castle Windsor is my container
  • NServiceBus is itself using it's own container internally, Spring by default
  • I'm implementing the PubSub config.

Ok, if I have my Bus.Publish happening within my IWantToRunAtStartup class, then everything is fine. As a test for example on Run() we can start a timer and it'll go into a Service style loop.

However, what if I want to abstract NServiceBus from my app, and have my app go:

new CustomPulisherClass().Notify(ISomeMessage msg);

In this situation, how do I implement CustomPublisherClass.

My confusion is coming from the fact that NServiceBus is already running as a Service, it's already been "Started". How to I get at the correct instance of the Bus object?

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

沧桑㈠ 2024-09-09 05:13:11

您应该配置 NServiceBus 以使用 Windsor 作为内部容器:

http:// sourceforge.net/apps/mediawiki/nservicebus/index.php?title=Additional_containers

如果您这样做,正确的 IBus 将在您的 Windsor 实例中可用

You should configure NServiceBus to use Windsor as the internal container:

http://sourceforge.net/apps/mediawiki/nservicebus/index.php?title=Additional_containers

If you do that the correct IBus will be available in your instance of Windsor

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文