NServiceBus自动注册以及用户实现其所有组件处理程序和传奇,这样所有实例化模式和连接在默认情况下都是正确的,没有错误。

NServiceBus在容器构建(目前Autofac的ilmerge版本),但它可以取代任何其他容器。

获得其他容器

nuget其他容器可用。

配置NServiceBus使用其他容器

  • v5
  • V4

    编辑

    var configuration = new BusConfiguration();
    
    // Autofac
    configuration.UseContainer<AutofacBuilder>();
    // Autofac with a container instance
    configuration.UseContainer<AutofacBuilder>(c => c.ExistingLifetimeScope(lifetimeScope)); // Castle
    configuration.UseContainer<WindsorBuilder>();
    // Castle with a container instance
    configuration.UseContainer<WindsorBuilder>(c => c.ExistingContainer(windsorContainer)); // Ninject
    configuration.UseContainer<NinjectBuilder>();
    // Ninject with a container instance
    configuration.UseContainer<NinjectBuilder>(c => c.ExistingKernel(ninjectKernel)); // Unity
    configuration.UseContainer<UnityBuilder>();
    // Unity with a container instance
    configuration.UseContainer<UnityBuilder>(c => c.UseExistingContainer(unityContainer)); // Spring
    configuration.UseContainer<SpringBuilder>();
    // Spring with an instance
    configuration.UseContainer<SpringBuilder>(c => c.ExistingApplicationContext(springApplicationContext)); // StructureMap
    configuration.UseContainer<StructureMapBuilder>();
    // StructureMap with a container instance
    configuration.UseContainer<StructureMapBuilder>(c => c.ExistingContainer(structureMapContainer));

    插入自己的容器

  • v5
  • V4

    编辑

    public void CustomContainerExtensionUsage()
    {
    var configuration = new BusConfiguration();
    //Register the container in the configuration with '.UseContainer<T>()'
    configuration.UseContainer<MyContainer>();
    }
    // Create a class that implements 'ContainerDefinition' and returns your 'IContainer' implementation.
    public class MyContainer : ContainerDefinition
    {
    public override IContainer CreateContainer(ReadOnlySettings settings)
    {
    return new MyObjectBuilder();
    }
    }
    //Create a class that implements 'IContainer'
    public class MyObjectBuilder : IContainer
    {
  • NServiceBus-容器的更多相关文章

    1. nservicebus教程-目录

      表的内容 开始 坚持NServiceBus 扩展 每天 举办 管理和监控 发布订阅 长时间运行的流程 定制 版本控制 常见问题解答 样品 开始 概述 NServiceBus一步一步向导 架构原则 事务 ...

    2. .NET 微服务和Docker容器

      .NET 微服务:适用于容器化 .NET 应用的体系结构 容器和 Docker 简介 什么是 Docker? Docker 术语 Docker 容器.映像和注册表 为 Docker 容器选择 .NET ...

    3. .NET Core/.NET5/.NET6 开源项目汇总6:框架与架构设计(DDD、云原生/微服务/容器/DevOps/CICD等)项目

      系列目录     [已更新最新开发文章,点击查看详细] 开源项目是众多组织与个人分享的组件或项目,作者付出的心血我们是无法体会的,所以首先大家要心存感激.尊重.请严格遵守每个项目的开源协议后再使用.尊 ...

    4. docker——容器安装tomcat

      写在前面: 继续docker的学习,学习了docker的基本常用命令之后,我在docker上安装jdk,tomcat两个基本的java web工具,这里对操作流程记录一下. 软件准备: 1.jdk-7 ...

    5. 网页提交中文到WEB容器的经历了些什么过程....

      先准备一个网页 <html><meta http-equiv="Content-Type" content="text/html; charset=gb ...

    6. [Spring]IoC容器之进击的注解

      先啰嗦两句: 第一次在博客园使用markdown编辑,感觉渲染样式差强人意,还是github的样式比较顺眼. 概述 Spring2.5 引入了注解. 于是,一个问题产生了:使用注解方式注入 JavaB ...

    7. 深入理解DIP、IoC、DI以及IoC容器

      摘要 面向对象设计(OOD)有助于我们开发出高性能.易扩展以及易复用的程序.其中,OOD有一个重要的思想那就是依赖倒置原则(DIP),并由此引申出IoC.DI以及Ioc容器等概念.通过本文我们将一起学 ...

    8. Docker笔记一:基于Docker容器构建并运行 nginx + php + mysql ( mariadb ) 服务环境

      首先为什么要自己编写Dockerfile来构建 nginx.php.mariadb这三个镜像呢?一是希望更深入了解Dockerfile的使用,也就能初步了解docker镜像是如何被构建的:二是希望将来 ...

    9. JS判断鼠标进入容器方向的方法和分析window.open新窗口被拦截的问题

      1.鼠标进入容器方向的判定 判断鼠标从哪个方向进入元素容器是一个经常碰到的问题,如何来判断呢?首先想到的是:获取鼠标的位置,然后经过一大堆的if..else逻辑来确定.这样的做法比较繁琐,下面介绍两种 ...

    10. docker4dotnet #2 容器化主机

      .NET 猿自从认识了小鲸鱼,感觉功力大增.上篇<docker4dotnet #1 前世今生&世界你好>中给大家介绍了如何在Windows上面配置Docker for Window ...

    随机推荐

    1. 通过CSS让html网页中的内容不可选

      *{ moz-user-select: -moz-none; -moz-user-select: none; -o-user-select:none; -khtml-user-select:none; ...

    2. Maven3路程(五)用Maven创建Hibernate项目

      本文将用Maven3.Hibernate3.6.Oracle10g整合,作为例子. 环境清单: 1.Maven3.0.5 2.Hibernate3.6.5 Final 3.JDK1.7.0.11 4. ...

    3. 使用spring @Scheduled注解执行定时任务

      以前框架使用quartz框架执行定时调度问题. 老大说这配置太麻烦.每个调度都需要多加在spring的配置中. 能不能减少配置的量从而提高开发效率. 最近看了看spring的 scheduled的使用 ...

    4. 日期选择插件clndr的使用

      需求是:在HTML中绘制日历直接供用户选择 而不是使用datepicker之类的表单插件让用户点击input后弹出datepicker让用户选择 浏览了一些解决方案后,发现  CLNDR 这个jQue ...

    5. sublime exclude folder?

      在sublime的项目中,其配置文件实际上是一个json文件,如果希望将某些文件夹或者文件排除在项目有效文件外,有以下方法: 在folder_exclude_patterns中输入对应的文件夹或者正则 ...

    6. MVC 中使用扩展方法

       扩展方法(Extension Method)是给那些不是你拥有.因而不能直接修改的类添加方法的一种方便的办法. 一.使用扩展方法 1.定义一个购物车的类-ShoppingCart using Sys ...

    7. AngularJS分页实现

      基本思路 一开始页码为1,Service向服务器端获取对应信息:点击上/下一页/跳转,通过对应的页码向服务器端获取对应的信息. 由于后台暂时没弄好,我实现的过程中直接读取准备好的JSON文件,通过页码 ...

    8. ECSHOP 商品评论条件修改——购买过该商品且只能评价一次(购买多少次能评价多少次)

      下文转自http://bbs.ecshop.com/thread-1131529-1-1.html ECSHOP 商品评论条件修改,修改为购买过该商品多少次,就只能评价多少次.不需要修改数据库,原理简 ...

    9. Java类的执行顺序

      在Java中一个类包括:构造块.构造方法.静态块.main方法.普通方法. 通过下面的例子将看出一个类中各种方法的执行顺序: /** * @author zhengbinMac */ public c ...

    10. JS面向对象组件(五) -- 复制对象(拷贝继承)

      研究到这儿,竟然出现了一个面试题目 var a = { name : '小明' }; var b = a; b.name = '小强'; alert( a.name ); 结果必然是“小强”,原因是对 ...