【问题标题】:MassTransit Integration with StructureMap 3.0.3MassTransit 与 StructureMap 3.0.3 的集成
【发布时间】:2014-05-14 19:23:25
【问题描述】:

我正在尝试在基于 StructureMap 的应用程序中使用 MassTransit。我已按照 MassTransit 网站提供的代码示例进行操作,但似乎在使其正常工作时遇到了一些问题。

这是我的 StructureMap Registry 类:

using MassTransit;
using StructureMap;
using StructureMap.Configuration.DSL;
using StructureMap.Graph;
using System;
using System.Configuration;

namespace MyApp
{
    public class MassTransitRegistry : Registry
    {
        public MassTransitRegistry()
        {
            Scan(scan =>
            {
                scan.AssembliesFromApplicationBaseDirectory(a => a.FullName.StartsWith("MyCompany"));
                scan.AddAllTypesOf<IConsumer>();
            });

            try
            {
                // Register the ServiceBus.
                var bus = ServiceBusFactory.New(sbc =>
                {
                    sbc.UseRabbitMq();
                    sbc.ReceiveFrom(ConfigurationManager.AppSettings["MassTransitQueue"]);
                    sbc.UseControlBus();
                    sbc.UseJsonSerializer();
                    sbc.SetConcurrentConsumerLimit(12);

                    sbc.Subscribe(s => s.LoadFrom(ObjectFactory.Container));
                });

                ObjectFactory.Container.Inject<IServiceBus>(bus);
            }
            catch (Exception)
            {
                throw;
            }
        }
    }
}

问题似乎出在 MassTransit.StructureMap 集成 NuGet 包上。看来这个包需要 StructureMap 2.6.4.0。我无法真正更改我的 StructureMap 版本,因为我编写的代码现在可以使用 3.0 中编写 StructureMap 的新方式。

有人知道解决这个问题的方法吗?

问候, 理查德·奥诺拉托

【问题讨论】:

    标签: structuremap masstransit


    【解决方案1】:

    目前没有办法做到这一点。 MassTransit 需要 StructureMap 的签名版本,Jeremy 已经明确表示他不会生成签名版本。

    另外,MT 仍然支持 .NET 3.5 而 StructureMap 3.0 不支持。您必须降级到 StructureMap 2.6 或忽略 MT 的集成包并手动注册您的处理程序。

    存在与此主题 https://github.com/MassTransit/MassTransit/pull/238 相关的现有问题。

    【讨论】:

    • 感谢您的回复。我确实将 MassTransit 结构图集成项目引入了我的解决方案,并对其进行了必要的更改以使其正常工作。所以我现在很好,但这意味着我还有一个项目要管理。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2011-10-20
    • 1970-01-01
    相关资源
    最近更新 更多