【发布时间】:2012-12-27 21:40:58
【问题描述】:
我使用 Simple Injector 作为我的 IoC 容器。 SimpleInjector 使用this simple technique to handle mixed life style for Per Thread and Per Web Request
container.RegisterPerWebRequest<IWebUnitOfWork, UnitOfWork>();
container.RegisterLifetimeScope<IThreadUnitOfWork, UnitOfWork>();
container.Register<IUnitOfWork>(() => container.GetInstance<UnitOfWork>());
// Register as hybrid PerWebRequest / PerLifetimeScope.
container.Register<UnitOfWork>(() =>
{
if (HttpContext.Current != null)
return container.GetInstance<IWebUnitOfWork>() as UnitOfWork;
else
return container.GetInstance<IThreadUnitOfWork>() as UnitOfWork;
});
我希望用UnitOfWorkAuthoriseDecorator、UnitOfWorkExceptionDecorator和UnitOfWorkTraceDecorator等类来装饰接口IUnitOfWork。
我应该装饰什么?
IUnitOfWork-
IWebUnitOfWork&IThreadUnitOfWork -
IUnitOfWork&IWebUnitOfWork&IThreadUnitOfWork UnitOfWork- 别的东西
【问题讨论】:
-
顺便说一句,您确定您在正确的抽象级别进行拦截/装饰吗?装修一个工作单元是不是觉得很不寻常?
标签: c# dependency-injection simple-injector