当我向api控制器添加过滤器属性时,由于使用ActionExecutingContext
,它无法正常工作。当我找到我必须使用HttpActionContext
的解决方案时,它可以正常工作。那么它们之间的主要区别是什么?
答案 0 :(得分:0)
我可以看到,在我之前的一个MVC解决方案中,我的自定义过滤器使用了ActionExecutingContext
。在该解决方案中,packages.config说:
package id="Microsoft.AspNet.Mvc" version="4.0.20710.0"
在较新的MVC解决方案中,当我创建类似的自定义属性/过滤器时,OnActionExecuting的覆盖要求我现在传递HttpActionContext
..并且NuGet是:
package id="Microsoft.AspNet.Mvc" version="5.2.3"
我还在研究它的不同之处。但是,我绝对可以看到他们在AspNet.Mvc版本之间改变了这一点