using System; using System.Web; using Headspring.Training.Core; using NHibernate; namespace Headspring.Training.Infrastructure.Impl { public class NHibernateSessionModule : IHttpModule { public void Init(HttpApplication context) { context.EndRequest += context_EndRequest; } public void Dispose() { } private void context_EndRequest(object sender, EventArgs e) { var builder = new HybridSessionBuilder(); ISession session = builder.GetExistingWebSession(); if (session != null) { Logger.Debug(this, "Disposing of ISession " + session.GetHashCode()); session.Dispose(); } } } }