What am I doing:
For<IUnitOfWork>() .HybridHttpOrThreadLocalScoped() .Use<BpReminders.Data.NH.UnitOfWork>(); For<ISession>() .HybridHttpOrThreadLocalScoped() .Use(o => ((BpReminders.Data.NH.UnitOfWork)o.GetInstance<IUnitOfWork>()).CurrentSession);
and...
protected void Application_EndRequest(object sender, EventArgs e) { ObjectFactory.ReleaseAndDisposeAllHttpScopedObjects(); }
HybridHttpOrThreadLocalScoped uses an HttpContext when it is available.
StructureMap keeps an eye on everything. Remember to implement IDisposable in your classes.
Leftyx
source share