这是示例代码:
public interface IService<TEntity> {
IContext Context { get; set; }
//unimportant methods
bool Validate(TEntity entity);
void Add(TEntity enttity);
}
public class UsersController : Controller {
private IService<User> _service;
public MyController(IService<User> service){
_service = service;
_service.Context = ControllerContext;
}
}
我正在使用 AutofacControllerFactory 在我的 ASP.NET MVC 应用程序中创建控制器。是否可以在每个控制器的构造函数中消除这行代码:
_service.Context = ControllerContext;
换句话说:是否可以使用 ControllerContext 自动设置此属性?这应该是可能的,因为每个 IService 实现都有一个可设置的 IContext 属性。
我应该扩展 AutofacControllerFactory 还是有标准的方法?