asp.net - EF, UoW and Repository - When to dispose the UnitOfWork in WebForms? -
recently started digging concept of repository patterns , unitofwork exploring entityframework.
made own implementation based on mvc example, disposing unitofwork controller so:
protected override void dispose(bool disposing) { unitofwork.dispose(); base.dispose(disposing); }
i'm not mvc @ all, , pretty new in webforms well, assume overriding controller dispose method in order dispose unitofwork "everything" else disposed.
basically i'd implement same concept in asp.net webforms website , dispose unitofwork used behind page's code disposing of page itself.
i considered adding same page_unload event life cycle, wasn't sure if proper way haven't messed such things before. idea follows:
protected void page_unload(object sender, eventargs e) { unitofwork.dispose(); base.dispose(); }
how can achieve safely, , on right track?
first of all: don't invent wheel.
use dependency injection frameworks like: structuremap, ninject, unity, etc....
your uow should started beginning of web request , disposed when request ended.
in other words: datacontext of ef should initialized when request started. can store somewhere(session, ...), , can reused request. one instance of datacontext per request.
but if try yourself, in wrong way, using dependency injection framework, make easy.
the framework can handle lifetime of datacontext(uow).
Comments
Post a Comment