private static void ConfigureServices(IServiceCollection services, WebClientFactoryOptions options) { var orleanOptions = new OrleansClientConnectionOptions { TableStorageConnectionString = options.FabricSettings.TableStorage, ClusterId = options.FabricSettings.IsLocal ? "development" : "production", FabricUrl = "fabric:/ServiceFabricSample/MyStatelessService" }; IAppContextSettings contextSettings = new AppContextSettings(options.FabricSettings.Db); services.AddScoped(provider => OrleansClientFactory.Get(orleanOptions)); services.AddSingleton(contextSettings); services.AddSingleton(options.FabricSettings); services.AddSingleton(orleanOptions); }
private static async Task Run(string[] args) { Console.WriteLine("Starting...."); var clientOptions = new OrleansClientConnectionOptions { ClusterId = "development", TableStorageConnectionString = "UseDevelopmentStorage=true", FabricUrl = "fabric:/ServiceFabricSample/MyStatelessService" }; var client = OrleansClientFactory.Get(clientOptions); Console.WriteLine("Connecting...."); await client.Connect(); var grain = client.GetGrain <IMyFirstGrain>(Guid.Empty); var subscriber = new OrleansSubscriber(new ClientHelloObserver(), clientOptions); await subscriber.InitClientAsync(); Console.WriteLine("Connected. Type a messge to send. Type quit to exit."); string message; do { message = Console.ReadLine(); if (message != "quit") { await grain.ChatAsync(message); } }while (message != "quit"); }
public static IClusterClient Get(OrleansClientConnectionOptions options) { var serviceName = new Uri(options.FabricUrl); var builder = new ClientBuilder(); builder.Configure <ClusterOptions>(opt => { opt.ServiceId = serviceName.ToString(); opt.ClusterId = options.ClusterId; }); builder.UseAzureStorageClustering(opt => opt.ConnectionString = options.TableStorageConnectionString); builder.ConfigureApplicationParts(parts => parts.AddApplicationPart(typeof(IMyFirstGrain).Assembly)); builder.ConfigureLogging(logging => logging.AddDebug()); var client = builder.Build(); return(client); }
public AbstractOrleansSubscriber(TObServer observer, OrleansClientConnectionOptions options) { _observer = observer; _options = options; }
/// <inheritdoc /> public OrleansSubscriber(IHelloObserver observer, OrleansClientConnectionOptions options) : base(observer, options) { }
/// <inheritdoc /> public PeopleEntityModifedSubscriber(IEntityModifiedObserver <Guid, Person> observer, OrleansClientConnectionOptions options) : base(observer, options) { }