C# 获取控制器实例
我在vs 2012的一个国际奥委会项目中使用StructureMap。我用以下代码创建了一个控制器工厂:C# 获取控制器实例,c#,asp.net-mvc,inversion-of-control,structuremap,C#,Asp.net Mvc,Inversion Of Control,Structuremap,我在vs 2012的一个国际奥委会项目中使用StructureMap。我用以下代码创建了一个控制器工厂: namespace Mvc_Dependency_Test.Controllers { public class IoCControllerFactory:DefaultControllerFactory { protected override IController GetControllerInstance(Type controllerType)
namespace Mvc_Dependency_Test.Controllers
{
public class IoCControllerFactory:DefaultControllerFactory
{
protected override IController GetControllerInstance(Type controllerType)
{
return (Controller)ObjectFactory.GetInstance(controllerType);
}
}
}
但我明白了
'Mvc_Dependency_Test.Controllers.IoCControllerFactory.GetControllerInstance(System.Type)':
找不到可重写的合适方法
每次我试图编译。我卡住了。我做错了什么?从中,GetControllerInstance
的方法签名是:
protected internal virtual IController GetControllerInstance(
RequestContext requestContext,
Type controllerType)
由于您传递的是不同的签名,因此您实际上是在试图重写
DefaultControllerFactory
中不存在的方法,从而导致错误。要解决此问题,您需要将方法签名更改为相应的签名,并相应地修改代码。谢谢!这正是我需要的。我需要更多关于结构图的信息,因为我是国际奥委会的初学者。您知道任何howto文档吗?我不太熟悉,但这可能会有所帮助: