Perché PerThreadLifetimeManager è utilizzato in questo esempio?

Sto seguendo l’esempio collegato a sotto per impostare l’unità per lavorare con il mio livello di servizio. Il mio progetto è configurato in modo molto simile a quello in questo articolo e capisco tutto tranne il perché esattamente PerThreadLifetimeManager è utilizzato quando si registra la dipendenza dal servizio. Tieni presente che sto anche utilizzando un repository generico e unitofwork che viene utilizzato anche nel mio livello di servizio. La maggior parte degli esempi di unità utilizzano il gestore di durata predefinito (transitorio) e poiché la mia configurazione è simile a quella di seguito mi chiedo perché dovrei usare PerThreadLifeimeManager? Sto usando un progetto di moduli Web ASP.NET per il mio attuale livello di presentazione se questo cambia qualcosa.

container.RegisterType(new PerThreadLifetimeManager()) 

Il modello di repository con l’iniezione di prima dipendenza del codice EF in asp.net MVC 3