public void ConfigureContainer(ServiceConfigurationContext context)
        {
            var contentApiOptions = new ContentApiOptions
            {
                MultiSiteFilteringEnabled = false
            };

            context.InitializeContentApi(contentApiOptions);
            context.InitializeContentSearchApi(new ContentSearchApiOptions()
            {
                SearchCacheDuration = TimeSpan.Zero
            });

            //context.Services.AddSingleton<IPropertyModelHandler, LowercaseLongStringPropertyModelHandler>();

            DependencyResolver.SetResolver(new StructureMapDependencyResolver(context.StructureMap()));

            GlobalConfiguration.Configure(config =>
            {
                config.IncludeErrorDetailPolicy = IncludeErrorDetailPolicy.LocalOnly;
                config.Formatters.JsonFormatter.SerializerSettings = new JsonSerializerSettings();
                config.Formatters.XmlFormatter.UseXmlSerializer    = true;
                config.DependencyResolver = new StructureMapResolver(context.StructureMap());
                config.MapHttpAttributeRoutes();
                config.EnableCors();
            });
        }
예제 #2
0
        public void ConfigureContainer(ServiceConfigurationContext context)
        {
            var services = context.Services;

            services.AddSingleton <IClickTrackingService, ClickTrackingService>();

            services.AddSingleton <ICurrentMarket, CurrentMarket>();

            //Register for auto injection of edit mode check, should be default life cycle (per request to service locator)
            services.AddTransient <IsInEditModeAccessor>(locator => () => PageEditing.PageIsInEditMode);

            services.Intercept <IUpdateCurrentLanguage>(
                (locator, defaultImplementation) =>
                new LanguageService(
                    locator.GetInstance <ICurrentMarket>(),
                    locator.GetInstance <CookieService>(),
                    defaultImplementation));

            services.AddTransient <IModelBinderProvider, ModelBinderProvider>();
            services.AddHttpContextOrThreadScoped <SiteContext, CustomCurrencySiteContext>();
            services.AddTransient <HttpContextBase>(locator => HttpContext.Current.ContextBaseOrNull());

            var contentApiOptions = new ContentApiOptions
            {
                MultiSiteFilteringEnabled = false
            };

            context.InitializeContentApi(contentApiOptions);
            context.InitializeContentSearchApi(new ContentSearchApiOptions()
            {
                SearchCacheDuration = TimeSpan.Zero
            });

            DependencyResolver.SetResolver(new StructureMapDependencyResolver(context.StructureMap()));

            GlobalConfiguration.Configure(config =>
            {
                config.IncludeErrorDetailPolicy = IncludeErrorDetailPolicy.LocalOnly;
                config.Formatters.JsonFormatter.SerializerSettings = new JsonSerializerSettings();
                config.Formatters.XmlFormatter.UseXmlSerializer    = true;
                config.DependencyResolver = new StructureMapResolver(context.StructureMap());
                config.MapHttpAttributeRoutes();
                config.EnableCors();
            });


#if IRI_CHARACTERS_IN_URL_FEATURE
            EnableIriCharactersInUrls(context);
#endif
        }
예제 #3
0
        public void ConfigureContainer(ServiceConfigurationContext context)
        {
            var contentApiOptions = new ContentApiOptions
            {
                MultiSiteFilteringEnabled = false
            };

            context.InitializeContentApi(contentApiOptions);

            // Register the extended content model mapper to be able to provide custom models from content api
            context.Services.Intercept <IContentModelMapper>((locator, defaultModelMapper) =>
                                                             new ExtendedContentModelMapper(
                                                                 locator.GetInstance <IUrlResolver>(),
                                                                 defaultModelMapper,
                                                                 locator.GetInstance <ServiceAccessor <HttpContextBase> >(),
                                                                 locator.GetInstance <IContentVersionRepository>()
                                                                 )
                                                             );

            context.InitializeContentSearchApi(new ContentSearchApiOptions()
            {
                SearchCacheDuration = TimeSpan.Zero
            });

            DependencyResolver.SetResolver(new StructureMapDependencyResolver(context.StructureMap()));

            GlobalConfiguration.Configure(config =>
            {
                config.IncludeErrorDetailPolicy = IncludeErrorDetailPolicy.LocalOnly;
                config.Formatters.JsonFormatter.SerializerSettings = new JsonSerializerSettings();
                config.Formatters.XmlFormatter.UseXmlSerializer    = true;
                config.DependencyResolver = new StructureMapResolver(context.StructureMap());
                config.MapHttpAttributeRoutes();
                config.EnableCors();
            });
            context.Services.AddTransient <IPropertyModelHandler, BuyTicketBlockPropertyModelHandler>();
        }
예제 #4
0
 public static void InitializeContentApi(this ServiceConfigurationContext context, ContentApiOptions options)
 {
     context.Services.AddSingleton((IServiceLocator location) => options);
     context.Services.AddSingleton <IContentApiRequiredRoleFilter, ContentApiRequiredRoleFilter>();
     context.Services.AddSingleton <IContentApiSiteFilter, ContentApiSiteFilter>();
 }