【发布时间】:2018-03-31 23:10:15
【问题描述】:
几个月前,我编写了一个带有一些自定义属性的 WebApi 应用程序。效果很好。
我现在正在编写一个新的 MVC 5.2.3 网站,并希望包含相同的属性。我将它们移过来,项目构建和运行都很好,只是属性被忽略了。
这是我的控制器装饰:
[AuthorizeIt(Roles = "theRole")]
[LogRequestResponse]
public class HomeController : Controller{}
这是我的两个属性的签名:
public class LogRequestResponseAttribute : ActionFilterAttribute
[AttributeUsage(AttributeTargets.All, Inherited = true, AllowMultiple = true)]
public class AuthorizeItAttribute : AuthorizeAttribute
我可以包含更多代码,但我认为这实际上不是代码问题,因为它适用于我的其他网站。我猜这是 MVC 和 WebApi 之间的区别,我缺少一些小细节。
是的,我知道 ASP.core 集成了 webApi 和 MVC,可以解决我面临的问题,但是我的工作不允许这样做。
谢谢,
鲍勃
【问题讨论】:
-
附加信息:新信息:如果我将控制器更改为从 ApiController 继承,我的属性可以正常工作。改回来,他们没有。
标签: asp.net-mvc-5 controller custom-attributes actionfilterattribute