Exemplo n.º 1
0
 /// <summary>
 ///  Add RabbitMQ
 /// </summary>
 /// <param name="build"><see cref="IRayBuilder>"/></param>
 /// <param name="name">Provider name</param>
 /// <returns></returns>
 private static IRayBuilder AddRabbitMQ(this IRayBuilder build, string name)
 {
     build.Services.AddSingletonNamedService <IEventPublisher>(name, (sp, n) =>
     {
         return(new EventPublisher(sp, n));
     });
     build.Services.AddSingletonNamedService <IEventSubscriber>(name, (sp, n) =>
     {
         return(new EventSubscriber(sp, n));
     });
     build.Services.AddSingletonNamedService <IRabbitChannelFactory>(name, (sp, n) =>
     {
         return(new RabbitChannelFactory(sp, n));
     });
     return(build);
 }
Exemplo n.º 2
0
 /// <summary>
 /// Add PostgreSql Ray storage
 /// </summary>
 /// <param name="build"><see cref="IRayBuilder>"/></param>
 /// <param name="name">Provider name</param>
 /// <returns></returns>
 private static IRayBuilder AddPostgreSQL(this IRayBuilder build, string name)
 {
     build.Services.AddSingletonNamedService <IStateStorage>(name, (sp, n) =>
     {
         return(new StateStorage(sp, n));
     });
     build.Services.AddSingletonNamedService <IEventStorage>(name, (sp, n) =>
     {
         return(new EventStorage(sp, n));
     });
     build.Services.AddSingletonNamedService <IPostgreSqlTableStorage>(name, (sp, n) =>
     {
         return(new PostgreSqlTableStorage(sp, n));
     });
     return(build);
 }
 /// <summary>
 /// Add Protobuf serialization
 /// </summary>
 /// <param name="build"></param>
 /// <returns></returns>
 public static IRayBuilder AddProtobuf(this IRayBuilder build)
 {
     build.Services.AddSingletonNamedService <ISerializer, ProtobufSerializer>(Ray2.Protobuf.SerializationType.Protobuf);
     return(build);
 }
Exemplo n.º 4
0
 /// <summary>
 /// Add RabbitMQ
 /// </summary>
 /// <param name="build"><see cref="IRayBuilder>"/></param>
 /// <param name="name">Provider name</param>
 /// <param name="configuration">RabbitMQ configuration</param>
 /// <returns></returns>
 public static IRayBuilder AddRabbitMQ(this IRayBuilder build, string name, Action <RabbitOptions> configuration)
 {
     build.Services.Configure <RabbitOptions>(name, configuration);
     return(build.AddRabbitMQ(name));
 }
Exemplo n.º 5
0
 /// <summary>
 /// Add PostgreSql Ray storage
 /// </summary>
 /// <param name="build"><see cref="IRayBuilder>"/></param>
 /// <param name="name">Provider name</param>
 /// <param name="configuration">PostgreSql configuration</param>
 /// <returns></returns>
 public static IRayBuilder AddPostgreSQL(this IRayBuilder build, string name, Action <PostgreSqlOptions> configuration)
 {
     build.Services.Configure <PostgreSqlOptions>(name, configuration);
     return(build.AddPostgreSQL(name));
 }