我想让我的控制器方法注册为HttpGet,如果它们的方法名中有"get“,如果它们有"create”等,HttpPost也是如此。
我如何创建一个"attributeAssigner",它将遍历程序集并完成工作?
发布于 2020-04-23 18:12:53
事实上,你不能。Ygalbel提到的例子是一个解决方案,在我看来,这是一种欺骗。
示例中的代码创建了另一个类(代理),该类继承自要应用属性的类。事实上,如果您使用反射来检索装饰类的自定义属性(它的属性和方法),您将找不到它们。建议的解决方案中的类的实例是另一个类的实例,而不是您的!
我不是100%确定,但我可以猜测ASP.NET (核心)确实做到了这一点,所以它不会找到装饰你控制器的动作的属性。
为了使用建议的解决方案,您需要编写一些代码,这些代码必须执行以下操作:
< code >G212
也许this text可以是一个很好的起点,但你的想法仍然需要澄清。
无论如何,如果你坚持它的实现,我祝你好运。这是ASP.NET核心中高级主题的一部分。
HTH
https://stackoverflow.com/questions/61320272
复制相似问题