示例#1
0
        public static ICompositeContainerBuilder AddRest(this ICompositeContainerBuilder composite)
        {
            // Add plugin for Rest API support:
            composite.AddPlugin <RestPlugin>();

            return(composite);
        }
示例#2
0
 public static ICompositeContainerBuilder AddRabbitMq(this ICompositeContainerBuilder composite)
 {
     return(composite
            .AddSettings()
            .AddMessaging()
            .AddPlugin <RabbitMqPlugin>()
            .InitPluginConfig <MessageDispatchConfig>(config =>
                                                      config.AddPublisher <RabbitMqPublisher>()));
 }
示例#3
0
        /// <summary>
        /// Adds the Settings Plugin to the composite container.
        /// </summary>
        /// <param name="composite">Reference to the composite container builder.</param>
        /// <returns>Reference to the composite container builder.</returns>
        public static ICompositeContainerBuilder AddSettings(this ICompositeContainerBuilder composite)
        {
            if (composite == null)
            {
                throw new ArgumentNullException(nameof(composite));
            }

            composite.AddPlugin <SettingsPlugin>();
            return(composite);
        }
示例#4
0
        /// <summary>
        /// Adds a plugin to the composite container that can be used to communicate with
        /// a Redis database.  The plugin also allows subscribing domain-events to Redis
        /// channels.
        /// </summary>
        /// <param name="composite">Reference to the composite container builder.</param>
        /// <returns>Reference to the composite container builder.</returns>
        public static ICompositeContainerBuilder AddRedis(this ICompositeContainerBuilder composite)
        {
            return(composite
                   .AddSettings()
                   .AddMessaging()
                   .AddPlugin <RedisPlugin>()

                   // Extends core messaging by added the Redis published to the pipeline.
                   .InitPluginConfig <MessageDispatchConfig>(config =>
                                                             config.AddPublisher <RedisPublisher>()));
        }
示例#5
0
        public static ICompositeContainerBuilder AddWebMvc(this ICompositeContainerBuilder composite,
                                                           Action <WebMvcConfig> configure = null)
        {
            // Add the MVC Plugin:
            composite.AddPlugin <WebMvcPlugin>();

            // Call configure delegate on configuration if specified.
            if (configure != null)
            {
                composite.InitPluginConfig(configure);
            }

            return(composite);
        }
示例#6
0
 public static ICompositeContainerBuilder AddEntityFramework(this ICompositeContainerBuilder composite)
 {
     return(composite.AddSettings()
            .AddPlugin <EntityFrameworkPlugin>());
 }
示例#7
0
 /// <summary>
 /// Add messaging plugin used for in-process messaging and that can be extended
 /// by other plugins by registering message-publishers.
 /// </summary>
 /// <param name="composite">Reference to the composite container builder.</param>
 /// <returns>Reference to the composite container builder.</returns>
 public static ICompositeContainerBuilder AddMessaging(this ICompositeContainerBuilder composite)
 {
     return(composite.AddPlugin <MessagingPlugin>());
 }
示例#8
0
 /// <summary>
 /// Adds a plugin to the composite container providing services to query MongoDb.
 /// </summary>
 /// <param name="composite">Reference to the composite container builder.</param>
 /// <returns>Reference to the composite container builder.</returns>
 public static ICompositeContainerBuilder AddMongoDb(this ICompositeContainerBuilder composite)
 {
     return(composite.AddSettings()
            .AddPlugin <MongoDbPlugin>());
 }
示例#9
0
 public static ICompositeContainerBuilder AddRoslyn(this ICompositeContainerBuilder composite)
 {
     return(composite.AddPlugin <RoslynPlugin>());
 }
示例#10
0
 public static ICompositeContainerBuilder AddMapping(this ICompositeContainerBuilder composite)
 {
     // Add mapping plugin:
     return(composite.AddPlugin <MappingPlugin>());
 }