C# 获取控制器实例

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)

我在vs 2012的一个国际奥委会项目中使用StructureMap。我用以下代码创建了一个控制器工厂:

  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文档吗?我不太熟悉,但这可能会有所帮助: