• NServiceBus-容器


    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
        {
    • 相关阅读:
      關於遍歷頁面所有控件的方法 空间
      Java中super的几种用法并与this的区别
      vs2010 未能正确加载方案中的一个或多个项目
      【ASP.NET】从服务器端注册客户端脚本
      sqlserver access 多数据库操作
      水晶報表中小寫變大寫的函數-VB
      RegularExpressionValidator 常用
      【转】改善C#程序的建议2:C#中dynamic的正确用法 空间
      转】VB中Set的用法
      C#索引器
    • 原文地址:https://www.cnblogs.com/powerxu/p/4294306.html
    • Copyright © 2020-2023  润新知