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. Eclipse下运行Maven项目提示缺少maven-resources-plugin:2.4.3

      将一个手动创建的Maven项目(命令行下可正常运行)导入到Eclipse中,运行时提示这样的错误信息:[ERROR] Plugin org.apache.maven.plugins:maven-res ...

    2. C#中的转换

      11.3  转换 到目前为止,在需要把一种类型转换为另一种类型时,使用的都是类型转换.而这并不是唯一的方式. 在计算过程中,int可以采用相同的方式隐式转换为long或double,还可以定义所创建的 ...

    3. 谈谈map中的count方法

      map和set两种容器的底层结构都是红黑树,所以容器中不会出现相同的元素,因此count()的结果只能为0和1,可以以此来判断键值元素是否存在(当然也可以使用find()方法判断键值是否存在). 拿m ...

    4. Linux同步机制 - 多线程开发总结

      1 对于CPU开销大的场景,能利用多核,就尽量利用多核(常常自以为某需求的运算量不大,且CPU足够快,就偷懒写个单线程,结果效率很低) 2 使用多线程的时候,默认是加锁的.在加锁保证业务正常的条件下, ...

    5. 【转载】Javascript中的this关键字

      看了这篇文章 http://www.ruanyifeng.com/blog/2010/04/using_this_keyword_in_javascript.html 分情况讨论. 情况一:纯粹的函数 ...

    6. QQ邮箱附件发送

      一.先造一个邮件发送的窗体 二.编辑邮件发送的代码(包括附件) ①附件添加对话框 string file; private void button6_Click(object sender, Even ...

    7. bzoj2396: 神奇的矩阵

      与51nod1140一样.不过这题是多组数据的...坑.... #include<cstdio> #include<cstring> #include<cctype> ...

    8. android 自定义组件-带图片的textView

      1. 定义属性 <?xml version="1.0" encoding="utf-8"?> <resources> <decla ...

    9. 如何在VMware虚拟机间建立共享磁盘?

      在同一台电脑上,有时难免要安装多个虚拟机,存储空间就成了最大的问题,那么如何解决虚拟机的硬盘问题呢,Vmware自带的工具可以很好的解决此问题,下面我们就来看看如何在Vmware虚拟机间建立共享磁盘? ...

    10. TextView及其子类

      1.TextView控件(TextView是EditView.Button等类的父类) <1>android:id   给当前控件定义了一个唯一标识符 <2>android:l ...