예제 #1
0
        // This method gets called by the runtime. Use this method to add services to the container.
        public IServiceProvider ConfigureServices(IServiceCollection services)
        {
            // Add framework services.

            // Persist data protection keys in Redis
            var redisConnectionString = ServiceFabricConfiguration.GetConfigurationSettingValue("ConnectionStrings", "RedisCacheConnectionString", "YourRedisCacheConnectionString");

            services.AddDataProtection()
            .PersistKeysToRedis(ConnectionMultiplexer.Connect(redisConnectionString), "DataProtection-Keys");

            // Add Redis-based distributed cache
            services.AddSingleton <IDistributedCache>(serviceProvider =>
                                                      new RedisCache(new RedisCacheOptions
            {
                Configuration = redisConnectionString
            }));
            services.AddSession();
            services.AddMvc();

            // Add Autofac
            var containerBuilder = new ContainerBuilder();

            containerBuilder.RegisterModule <ContainerBootstrapperModule>();
            containerBuilder.Populate(services);
            var container = containerBuilder.Build();

            return(new AutofacServiceProvider(container));
        }
예제 #2
0
        // This method gets called by the runtime. Use this method to add services to the container.
        public void ConfigureServices(IServiceCollection services)
        {
            services.AddSingleton <IConnectionMultiplexer>(serviceImplemtation =>
            {
                string cacheConnection = ServiceFabricConfiguration.GetConfigurationSettingValue("ConnectionStrings", "RedisCacheConnectionString", "YourRedisCacheConnectionString");

                return(ConnectionMultiplexer.Connect(cacheConnection));
            });
            services.AddMvc();
        }
예제 #3
0
        public static IHtmlContent SurveyLink(this IHtmlHelper htmlHelper, string linkText, string tenant, string surveySlug)
        {
            var publicSurveysWebsiteUrl = ServiceFabricConfiguration.GetConfigurationSettingValue("Endpoints",
                                                                                                  "PublicSurveyWebsiteUrl", "http://127.0.0.1/");

            var surveyLink = string.Format(CultureInfo.InvariantCulture, "{0}/survey/{1}/{2}", publicSurveysWebsiteUrl, tenant, surveySlug);
            var tagBuilder = new TagBuilder("a");

            tagBuilder.InnerHtml.AppendHtml(!string.IsNullOrEmpty(linkText) ? WebUtility.HtmlEncode(linkText) : string.Empty);
            tagBuilder.MergeAttribute("href", surveyLink);
            tagBuilder.TagRenderMode = TagRenderMode.Normal;
            return(tagBuilder);
        }
예제 #4
0
        // This method gets called by the runtime. Use this method to add services to the container.
        public IServiceProvider ConfigureServices(IServiceCollection services)
        {
            // Add framework services.

            // Persist data protection keys in Redis
            var redisConnectionString = ServiceFabricConfiguration.GetConfigurationSettingValue("ConnectionStrings", "RedisCacheConnectionString", "YourRedisCacheConnectionString");

            services.AddDataProtection()
            .PersistKeysToRedis(ConnectionMultiplexer.Connect(redisConnectionString), "DataProtection-Keys");

            // Add Redis-based distributed cache
            services.AddSingleton <IDistributedCache>(serviceProvider =>
                                                      new RedisCache(new RedisCacheOptions
            {
                Configuration = redisConnectionString
            }));
            services.AddSession();
            services.AddMvc();

            var account = ServiceFabricConfiguration.GetCloudStorageAccount();

            // Add Autofac
            var containerBuilder = new ContainerBuilder();

            containerBuilder.RegisterModule <ContainerBootstrapperModule>();
            containerBuilder.Populate(services);
            containerBuilder.RegisterInstance(account);
            var container = containerBuilder.Build();

            container.Resolve <ISurveyStore>().InitializeAsync().Wait();
            container.Resolve <ISurveyAnswerStore>().InitializeAsync().Wait();
            container.Resolve <ISurveyAnswersSummaryStore>().InitializeAsync().Wait();
            container.Resolve <ISurveyTransferStore>().InitializeAsync().Wait();
            container.Resolve <ITenantStore>().InitializeAsync().Wait();

            return(new AutofacServiceProvider(container));
        }
예제 #5
0
        // This method gets called by the runtime. Use this method to add services to the container.
        public IServiceProvider ConfigureServices(IServiceCollection services)
        {
            // Add framework services.

            // Persist data protection keys in Redis
            var redisConnectionString = ServiceFabricConfiguration.GetConfigurationSettingValue("ConnectionStrings", "RedisCacheConnectionString", "YourRedisCacheConnectionString");

            services.AddDataProtection()
            .PersistKeysToRedis(ConnectionMultiplexer.Connect(redisConnectionString), "DataProtection-Keys");

            services.AddMvc();

            var account = ServiceFabricConfiguration.GetCloudStorageAccount();

            // Add Autofac
            var containerBuilder = new ContainerBuilder();

            containerBuilder.RegisterModule <ContainerBootstrapperModule>();
            containerBuilder.Populate(services);
            containerBuilder.RegisterInstance(account);
            var container = containerBuilder.Build();

            return(new AutofacServiceProvider(container));
        }