我遇到了控制器无参数构造函数的问题,为了解决它,我将使用 StructureMap
我添加了这个类
public class StructureMapControllerFactory : DefaultControllerFactory
{
public override IController CreateController(RequestContext requestContext, string controllerName)
{
try
{
string key = controllerName.ToLowerInvariant();
return ObjectFactory.GetNamedInstance<IController>(key);
}
catch (StructureMapException ex)
{
//Use the default logic.
return base.CreateController(requestContext, controllerName);
}
}
}
我补充说
ControllerBuilder.Current.SetControllerFactory(new StructureMapControllerFactory());
到 Global.asax.cs 的 Application_Start()
但我有错误,可能是因为我没有初始化 StructureMap 如何正确初始化它以仅使用 ControllerFactory?