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