Exemple #1
0
        public static ISiloHostBuilder UseSignalR(this ISiloHostBuilder builder, Action <SignalrServerConfig> config)
        {
            var cfg = new SignalrServerConfig();

            config?.Invoke(cfg);

            return(builder.UseSignalR(cfg));
        }
Exemple #2
0
        public static ISiloHostBuilder UseSignalR(this ISiloHostBuilder builder, SignalrServerConfig config = null)
        {
            if (config == null)
            {
                config = new SignalrServerConfig();
            }

            config.ConfigureBuilder?.Invoke(builder, new HostBuilderConfig());

            try { builder.AddMemoryGrainStorage(Constants.PUBSUB_PROVIDER); }
            catch { /** PubSubStore was already added. Do nothing. **/ }

            try { builder.AddMemoryGrainStorage(Constants.STORAGE_PROVIDER); }
            catch { /** Grain storage provider was already added. Do nothing. **/ }

            return(builder
                   .AddSimpleMessageStreamProvider(Constants.STREAM_PROVIDER, opt => opt.FireAndForgetDelivery = config.UseFireAndForgetDelivery)
                   .ConfigureApplicationParts(parts => parts.AddApplicationPart(typeof(ClientGrain).Assembly).WithReferences()));
        }