Exemplo n.º 1
0
		/// <summary>
		/// Initializes Fluency with the specified configuration.
		/// </summary>
		/// <param name="configurationAction">The configuration action.</param>
		public static void Initialize( Action< InitializationExpression > configurationAction )
		{
			lock ( typeof ( Fluency ) )
			{
				// Execute the user-defined configuration code against the initialization expression and get the configuration data from it.
				var expression = new InitializationExpression();
				configurationAction( expression );

				Configuration = expression.GetConfiguration();
			}
		}
        /// <summary>
        /// This method may be used during the applications' initialization methods (ex. Global.asax, etc.)
        /// to provide environment and encryption values without needing to provide them via files on the filesystem
        /// (ex. "environment.config" or "common.key")
        /// </summary>
        /// <param name="action"></param>
        public static void Initialize(Action<IInitializationExpression> action)
        {
            lock (typeof (AdvancedConfigurationProvider)) {
                var expression = new InitializationExpression();
                action(expression);

                InitializationData = expression;
            }

            if (InitializationData.AesKey != null && InitializationData.AesIV == null)
                throw new ArgumentException("If an AES key is provided, an AES IV must also be provided.");

            if (InitializationData.AesKey == null && InitializationData.AesIV != null)
                throw new ArgumentException("If an AES IV is provided, an AES key must also be provided.");
        }