internal UdfsClusterClient( UdfsClusterClientOptions options, IClusterClient clusterClient ) { this.options = options; ClusterClient = clusterClient; }
public static void ConfigureWith(this UdfsClusterClientOptions options, OrleansClusterClientConfiguration configuration) { // Orleans information options.ClusterService.ClusterId = configuration.ClusterId; options.ClusterService.ServiceId = configuration.ServiceId; // Membership provider options.Membership.Enabled = configuration.Membership.Enabled; options.Membership.ConnectionString = configuration.Membership.ConnectionString; options.Membership.Provider = configuration.Membership.Provider; // Connection settings options.ConnectionRetryCount = configuration.ConnectionRetryCount; }
public IUdfsClusterClient Build( UdfsClusterClientOptions clusterClientOptions ) { var clientBuilder = new ClientBuilder(); // Local or distribute cluster if (clusterClientOptions.Membership.Enabled) { clientBuilder.UseAdoNetClustering( options => { options.Invariant = clusterClientOptions.Membership.Provider; options.ConnectionString = clusterClientOptions.Membership.ConnectionString; } ); } else { clientBuilder.UseLocalhostClustering(); } //.ConfigureLogging(logging => logging.AddConsole()) //.UsePerfCounterEnvironmentStatistics() //.Configure<ClientMessagingOptions>(options => options.ResponseTimeout = TimeSpan.FromSeconds(30)) clientBuilder.Configure <ClusterOptions>( options => { options.ClusterId = clusterClientOptions.ClusterService.ClusterId; options.ServiceId = clusterClientOptions.ClusterService.ServiceId; } ); // Interfaces foreach (var item in clusterClientOptions.GrainAssemblies) { clientBuilder.ConfigureApplicationParts(parts => parts.AddApplicationPart(item).WithReferences()); } // Build client return(new UdfsClusterClient(clusterClientOptions, clientBuilder.Build())); }