【发布时间】:2011-02-21 22:45:26
【问题描述】:
我正在使用 ASP.NET MVC (2) 和 Spring.NET 创建一个应用程序。
由于我的大多数控制器实现只实现了类似的 CRUD 操作,我想只创建一个通用控制器,如下所述:
In asp.net mvc is it possible to make a generic controller?
但是,上面的示例没有考虑 DI 框架。
我的想法是创建这个(警告:这是一大堆丑陋的代码,我需要帮助):
public SpringGenericControllerFactory : DefaultControllerFactory {
public IController CreateController(RequestContext requestContext, string controllerName) {
// Determine the controller type to return
Type controllerType = Type.GetType("MyController").MakeGenericType(Type.GetType(controllerName));
// Return the controller
return Activator.CreateInstance(controllerType) as IController;
}
}
objects.xml 中的条目如下所示:
<object id="controllerFactory" type="Application.Controllers.SpringGenericControllerFactory" />
<object id="DepartmentController" factory-method="CreateController" factory-object="controllerFactory" />
任何人都可以从中挑选并提供建议吗?
【问题讨论】: