/// <summary>
 /// Initializes a new instance of the <see cref="ContextFactoryConfiguration"/> class.
 /// </summary>
 /// <param name="contextProviderFactory">
 /// The context provider factory.
 /// </param>
 /// <param name="currentContextHolder">
 /// The current Context Holder.
 /// </param>
 public ContextFactoryConfiguration(IContextProviderFactory contextProviderFactory, ICurrentContextHolder currentContextHolder)
 {
     contextProviderFactory.ThrowIfNull("contextProviderFactory");
     currentContextHolder.ThrowIfNull("currentContextHolder");
     this.contextProviderFactory = contextProviderFactory;
     this.currentContextHolder = currentContextHolder;
 }
Esempio n. 2
0
        /// <summary>
        /// Starts the context factory. Must be called prior to anything.
        /// </summary>
        /// <param name="configuration">
        /// The configuration.
        /// </param>
        /// <returns>
        /// The <see cref="IContextFactory"/>.
        /// </returns>
        public static IContextFactory Start(ContextFactoryConfiguration configuration)
        {
            if (configuration == null)
            {
                throw new ArgumentNullException("configuration");
            }

            if (currentContextFactory != null)
            {
                Log.Warn(Resources.DiscardingCurrentContextFactory);
                currentContextFactory.Dispose();
            }

            currentContextHolder = configuration.CurrentContextHolder;
            currentContextFactory = new ContextFactoryImpl(configuration);
            currentContextFactory.Start();
            return currentContextFactory;
        }