예제 #1
0
        public static void Main(string[] args)
        {
            _environment = Environment.GetEnvironmentVariable("ASPNETCORE_ENVIRONMENT");

            var builder = new ConfigurationBuilder()
                          .SetBasePath(Directory.GetCurrentDirectory())
                          .AddJsonFile("appsettings.json")
                          .AddJsonFile($"appsettings.{_environment}.json", optional: true)
                          .AddEnvironmentVariables();

            Configuration = builder.Build();

            var services = new ServiceCollection();

            services.AddDistributedRedisCache(options =>
            {
                options.Configuration = IpEndPointUtility.GetHostIp(Configuration["Redis:Host"]).Result.ToString();
                options.InstanceName  = Configuration["Redis:InstanceName"];
            });

            RegisterConnectionSettings(services);
            RegisterCommonServices(services);

            ListenToMessages();

            Console.ReadLine();
        }
예제 #2
0
        public HostEventSource(IOptions <EventStoreConnectionSettings> connectionSettingsAccessor, IEventStoreSerializer serializer)
            : base(connectionSettingsAccessor.Value, serializer)
        {
            var connectionSettings        = connectionSettingsAccessor.Value;
            var connectionSettingsBuilder = ConnectionSettings.Create().KeepReconnecting();
            var point = IpEndPointUtility.CreateIpEndPoint(connectionSettings.Host + ":" + connectionSettings.Port).Result;

            Connection = EventStoreConnection.Create(connectionSettingsBuilder, point);

            Connection.ConnectAsync().Wait();
        }