需要帮助使用Unity DI执行命令处理程序/公车(Need help implementing C

2019-09-16 08:15发布

伙计们,我想重新因子域修改遗留应用棕地进入CQRS架构,命令和指令总线。

该应用程序将很可能在Asp.Net MVC3实现。 我的雇主更喜欢在MVC应用程序DI使用统一。

我能找到显示了命令/总线分辨率依赖容器中的任何例子是基于Structuremap或Autofac,但是我需要在这个方案中使用统一。 采用了统一这样的人或知道任何的例子吗?

Answer 1:

确切位置在哪里,你认为你需要的容器呢? 也许这篇文章包含了一些有用的信息。

它描述的处理commmands容器不可知的方式。


更新

你的意思是你想有这样的事情:

var builder = new ConfigurationBuilder();
var convention = new CommandHandlerConvention().WithTransaction().WithDeadlockRetry();
builder.Extension<DecoratorExtension>();
builder.Scan(x =>
{
    x.With(convention);
    x.AssemblyContainingType(typeof(BarCommand));
});
var container = new UnityContainer();
container.AddExtension(builder);
ICommandHandler<BarCommand> barHandler = container.Resolve<ICommandHandler<BarCommand>>("BarHandler");
var command = new BarCommand();
barHandler.Handle(command);
Assert.AreEqual("-->Retry-->Transaction-->BarHandler", command.HandledBy);

该注册使用自定义配置引擎团结,它提供了大量的StructureMap的配置的功能。


UPDATE2

该代码样本是我的一部分, 在CodePlex上的宠物项目 。 上面的片断可以TecX.Unity.Configuration.Test项目中被发现。



文章来源: Need help implementing Command Handlers/Bus using Unity DI