Asp.net mvc 3 Net MVC 3工作单元处理
我正在使用EntityFramework4.1编写一个ASP.NETMVC3Web应用程序。我的工作单元与本优秀教程中描述的相同 但是,我没有将UoW类注入控制器,而是在服务类中注入,如下所示Asp.net mvc 3 Net MVC 3工作单元处理,asp.net-mvc-3,entity-framework-4.1,unit-of-work,Asp.net Mvc 3,Entity Framework 4.1,Unit Of Work,我正在使用EntityFramework4.1编写一个ASP.NETMVC3Web应用程序。我的工作单元与本优秀教程中描述的相同 但是,我没有将UoW类注入控制器,而是在服务类中注入,如下所示 public class ListService : IListService { private IUnitOfWork _uow; public ListService(IUnitOfWork uow) { _uow = uow; } pub
public class ListService : IListService
{
private IUnitOfWork _uow;
public ListService(IUnitOfWork uow)
{
_uow = uow;
}
public IList<List> GetAllListTypes()
{
return _uow.Lists.Get().OrderBy(l => l.description).ToList();
}
}
我试图修改此方法并将其放在我的服务类中,但它不起作用,即UoW类中的dispose方法从未被调用
protected override void Dispose(bool disposing)
{
_uow.Dispose();
}
如果有人能告诉我如何处置我的UoW类,我将不胜感激
谢谢各位。各位
这个问题的答案是,当我为我的国际奥委会使用Unity时,可以设置Unity来处理我的工作单元。您正在创建什么样的服务?它是ASP.NET Web API、WCF、Windows服务、业务逻辑服务还是什么?有人打过电话来处理你的服务吗?谁负责处理您的服务?@LadislavMrnka-服务类是为我的业务逻辑设置的ASP.Net类,它位于我的服务层,位于我的UI和我的域模型之间。我的服务类中没有dispose方法。@tgriffiths-您使用什么IoC容器进行依赖项注入?他们中的大多数人都能够处理他们创建的组件。@SergeyRybalkin-我使用Unity作为IoC容器。@Tgrifiths-看起来可以让Unity来处理您的一次性组件,请查看这个-。不过,我建议您改用Autofac,它可以很好地与确定性Disposalc配合使用。您可以分享一下您是如何做到这一点的吗?例如,您是否使用了内置的Unity LifeTimeManager?据我所知,默认的TransientLifetimeManager会为每个调用新建一个实例,而不会处理调用Dispose()。基本上,您是如何向Unity注册UOW的?
protected override void Dispose(bool disposing)
{
db.Dispose();
base.Dispose(disposing);
}
protected override void Dispose(bool disposing)
{
_uow.Dispose();
}