public ClusterFixture() { _redis = new RedisInside.Redis(); Console.WriteLine(_redis.Endpoint.ToString()); Console.WriteLine("Initializing Orleans TestCluster"); var builder = new TestClusterBuilder(1); builder.Options.ServiceId = "Service"; builder.Options.ClusterId = "TestCluster"; builder.AddSiloBuilderConfigurator <SiloConfigurator>(); builder.AddClientBuilderConfigurator <ClientConfigurator>(); //this is one of the only ways to be able to pass data (the redis connection string) to the silo(s) that TestCluster will startup builder.ConfigureHostConfiguration(config => { config.AddInMemoryCollection(new Dictionary <string, string>() { { nameof(RedisInside.Redis), _redis.Endpoint.ToString() } }); }); Cluster = builder.Build(); Cluster.Deploy(); Cluster.InitializeClient(); Client = Cluster.Client; var redisOptions = ConfigurationOptions.Parse(_redis.Endpoint.ToString()); var connection = ConnectionMultiplexer.ConnectAsync(redisOptions).Result; Database = connection.GetDatabase(); Console.WriteLine("Initialized Orleans TestCluster"); }
static void Main(string[] args) { RedisInstance = new Redis(cfg => { cfg.Port(8096); cfg.LogTo(new Action<string>((s) => Console.WriteLine(s))); }); var client = new RedisClient(RedisInstance.Endpoint.ToString()); var patientClient = client.As<Patient>(); var patient = new Patient { Name = "Scott", Codes = new List<string> { "1.1", "2.2" } }; patient.Id = patientClient.GetNextSequence(); patientClient.Store(patient); var retrievedPatient = patientClient.GetById(patient.Id); Console.WriteLine("{0}:{1}", retrievedPatient.Id, retrievedPatient.Name); Console.ReadKey(); }