using System; using System.Configuration; using System.Reflection; using System.Web; using System.Collections.Generic; using Castle.ActiveRecord; using Castle.ActiveRecord.Framework; using NetCoders.Helpers.Configuration; namespace NetCoders.HttpModules { public class ActiveRecordModule : IHttpModule { #region Properties private static bool _initialized = false; #endregion #region Init public void Init(HttpApplication context) { context.BeginRequest += new EventHandler(OnBeginRequest); } #endregion #region OnBeginRequest private static void OnBeginRequest(Object sender, EventArgs e) { IConfigurationSource source = ConfigurationManager.GetSection("activerecord") as IConfigurationSource; if (!_initialized) { List assemblies = new List(); foreach (string assembly in ModelConfiguration.GetConfig().Assemblies) { assemblies.Add(Assembly.Load(assembly)); } ActiveRecordStarter.Initialize(assemblies.ToArray(), source); } _initialized = true; } #endregion #region Dispose public void Dispose() { } #endregion } }