示例#1
0
 public Task Init(string name, Orleans.Providers.IProviderRuntime providerRuntime, Orleans.Providers.IProviderConfiguration config)
 {
     //// prepare provider
     this.Name      = name;
     this.directory = config.Properties["directory"];
     return(TaskDone.Done);
 }
示例#2
0
        public Task Init(string name, Orleans.Providers.IProviderRuntime providerRuntime, Orleans.Providers.IProviderConfiguration config)
        {
            this.Name = name;
            this.Log  = providerRuntime.GetLogger(this.GetType().FullName, Logger.LoggerType.Application);

            // Create EventStore connection
            var username = config.Properties.ContainsKey("Username") ? config.Properties["Username"] : "******";
            var password = config.Properties.ContainsKey("Password") ? config.Properties["Password"] : "******";

            var settings = ConnectionSettings.Create()
                           .KeepReconnecting().KeepRetrying()
                           .SetDefaultUserCredentials(new UserCredentials(username, password));

            // Connection string format: <hostName>:<port>
            var connectionStringParts = config.Properties["ConnectionString"].Split(':');
            var hostName    = connectionStringParts[0];
            var hostPort    = int.Parse(connectionStringParts[1]);
            var hostAddress = Dns.GetHostAddresses(hostName).First(a => a.AddressFamily == AddressFamily.InterNetwork);

            this.Connection = EventStoreConnection.Create(settings, new IPEndPoint(hostAddress, hostPort));

            // Connect to EventStore
            return(this.Connection.ConnectAsync());
        }
示例#3
0
 public Task Init(string name, Orleans.Providers.IProviderRuntime providerRuntime, Orleans.Providers.IProviderConfiguration config)
 {
     this.Name = name;
     return(TaskDone.Done);
 }