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);
        }
Esempio n. 2
0
        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");
        }
Esempio n. 3
0
        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);
        }
Esempio n. 4
0
 public AbstractOrleansSubscriber(TObServer observer, OrleansClientConnectionOptions options)
 {
     _observer = observer;
     _options  = options;
 }
Esempio n. 5
0
 /// <inheritdoc />
 public OrleansSubscriber(IHelloObserver observer, OrleansClientConnectionOptions options) : base(observer, options)
 {
 }
 /// <inheritdoc />
 public PeopleEntityModifedSubscriber(IEntityModifiedObserver <Guid, Person> observer, OrleansClientConnectionOptions options) : base(observer, options)
 {
 }