[英]How to use Autofac to resolve instance per request dependencies for types in a child lifetime scope created by Nancy
[英]How to use autofac and resolve new instance and ignore register single or instance per request?
具有如下代碼:
builder.RegisterType<UnitOfWork>().As<IUnitOfWork>().InstancePerRequest();
我如何解析UnitOfWork的新實例? 根據要求不一樣,真的很新。
這似乎不是主題,但是只要您的UnitOfWork正在為每個請求創建DbContext的新實例,則如何注冊AutoFac依賴關系就可以了。
如您所見,我處理了上下文,並通過參數less構造函數為每個請求創建了一個新實例。
我用這樣的東西:
public class DbUnitOfWork : IUnitOfWork
{
private readonly MyDbContext _context;
public DbUnitOfWork()
{
_context = new MyDbContext();
}
public void Dispose()
{
_context.Dispose();
}
public void Commit()
{
try
{
_context.SaveChanges();
}
catch (DbEntityValidationException exception)
{
throw exception;
}
catch (Exception ex)
{
throw ex;
}
}
public Task CommitAsync()
{
try
{
return _context.SaveChangesAsync();
}
catch (DbEntityValidationException exception)
{
throw exception;
}
catch (Exception ex)
{
throw ex;
}
}
public Task CommitAsync(CancellationToken cancellationToken)
{
return _context.SaveChangesAsync(cancellationToken);
}
internal DbSet<T> Set<T>() where T : Entity
{
return _context.Set<T>();
}
}
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.