我正在使用Web API 2,并且有一个继承自另一个控制器的控制器,该控制器重写ApiController的Initialize()方法。

所以:

public class ControllerA : Controller B


然后:

public class ControllerB : ApiController
{
   protected override void Initialize(HttpControllerContext controllerContext)
    {
        var httpContext = GetHttpContext(controllerContext.Request);
        // Do some stuff
        base.Initialize(controllerContext);
    }
 }


但是当我调试时,初始化的断点永远不会被击中。其他断点命中,但不是这种方法。有任何想法吗?

最佳答案

调用控制器时,Initialize方法与构造函数不同。
应该手动调用它以将我的控制器上下文重新初始化为另一个类。

关于c# - Web Api-未调用Initialize(),我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/31733600/

10-17 02:21