Antes de discutirmos se é recomendável, esta abordagem atende suas necessidades? E por que você não gostou da solução?
Já li alguma coisa sobre perda do contexto, mas nunca tive problemas.
abs.
João Bateloche
---
Systems Engineer @ C.E.S.A.R.
BSc. in Computer Science
Por request sim, não uma unica no sistema inteiro.
Sent from mobile device.
Eu uso algo assim já faz um bom tempo, não tive problemas
public class AccountRepository : BaseRepository<Account>, IAccountRepository { public AccountRepository(IDatabaseFactory databaseFactory) : base(databaseFactory) { }}
public class DatabaseFactory : Disposable, IDatabaseFactory { private [NomeDoProjeto]Context _dataContext; public [NomeDoProjeto]Context Get() { return _dataContext ?? (_dataContext = new SkillMeterContext()); } protected override void DisposeCore() { if (_dataContext != null) _dataContext.Dispose(); } }
public static IUnityContainer GetUnityContainer() { IUnityContainer container = new UnityContainer(); container.RegisterType<IDatabaseFactory, DatabaseFactory>(new HttpContextLifetimeManager<IDatabaseFactory>()); container.RegisterType<IUnitOfWork, UnitOfWork>(new HttpContextLifetimeManager<IUnitOfWork>()); container.RegisterType<IAccountRepository, AccountRepository>(new HttpContextLifetimeManager<IAccountRepository>());}