public static void Load(ContainerBuilder builder, ChiffonConfig config) { Require.NotNull(builder, "builder"); Require.NotNull(config, "config"); builder.Register(_ => config).AsSelf().SingleInstance(); builder.RegisterType <MailMerge>().As <IMailMerge>().InstancePerRequest(); builder.RegisterType <Messenger>().As <IMessenger>().InstancePerRequest(); // IMPORTANT: ChiffonEnvironment est entièrement résolue à l'exécution. // Cf. aussi les commentaires dans la classe ChiffonContext. builder.Register(_ => ChiffonContext.Resolve(HttpContext.Current).Environment).AsSelf().InstancePerRequest(); builder.RegisterType <SiteMapFactory>().As <ISiteMapFactory>().SingleInstance(); // FIXME: Pour les HttpHandlers, je n'arrive pas à voir pour le moment pourquoi // on ne récupère pas la bonne valeur de ChiffonEnvironment et donc de SiteMap, même // en précisant IsReusable = false. Peut-être faut-il utiliser InstancePerHttpRequest() // au niveau de RegisterHandlers() dans AspNetMvcModule ? // IMPORTANT: ISiteMap est entièrement résolue à l'exécution. builder.Register(ResolveSiteMap_).As <ISiteMap>().InstancePerRequest(); RegisterPersistenceTypes_(builder, config.EnableServerCache); RegisterServiceTypes_(builder); RegisterAspNetMvcTypes_(builder); }
public PatternImageHandler(ChiffonConfig config, IDbQueries queries) : base() { Require.NotNull(config, "config"); Require.NotNull(queries, "queries"); _config = config; _queries = queries; }
public static void Start() { // Chargement de la configuration. var config = ChiffonConfig.FromConfiguration(); // Configuration de l'injection de dépendances. var builder = new ContainerBuilder(); Dependencies.Load(builder, config); var container = builder.Build(); DependencyResolver.SetResolver(new AutofacDependencyResolver(container)); // Configuration de Serilog. Log.Logger = Dependencies.GetLogger(config); }
public static ILogger GetLogger(ChiffonConfig config) { Require.NotNull(config, "config"); ILoggerProvider provider; using (var catalog = new AssemblyCatalog(typeof(ApplicationLifecycle).Assembly)) { using (var container = new CompositionContainer(catalog)) { provider = container.GetExportedValue <ILoggerProvider>(config.LogProfile); } } return(provider.GetLogger(config.LogMinimumLevel)); }
public ComponentController(ChiffonConfig config) { Require.NotNull(config, "config"); _config = config; }
public WidgetController(ChiffonConfig config) { Require.NotNull(config, "config"); _config = config; }