Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/316.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 它';是否可以仅为一个操作忽略ServiceFilter控制器?_C#_Visual Studio_Asp.net Core_Asp.net Web Api - Fatal编程技术网

C# 它';是否可以仅为一个操作忽略ServiceFilter控制器?

C# 它';是否可以仅为一个操作忽略ServiceFilter控制器?,c#,visual-studio,asp.net-core,asp.net-web-api,C#,Visual Studio,Asp.net Core,Asp.net Web Api,是否可以仅为一个操作忽略ServiceFilter控制器,然后应用另一个ServiceFilter?就我而言,“方法二” 你好 对于您的情况,这两个过滤器都将在MethodTwo中执行 在这里,您可以阅读有关筛选器执行序列的更多信息- 因此,对于您的案例,您可以分析RequireFilter1中的现有操作属性,如果有任何其他ServiceFilterAttribute分配给操作,则不执行该属性。 或者,您可以创建将阻止控制器属性的属性 例如(如果ServiceFilterAttribute附加

是否可以仅为一个操作忽略ServiceFilter控制器,然后应用另一个ServiceFilter?就我而言,“方法二”


你好

对于您的情况,这两个过滤器都将在MethodTwo中执行

在这里,您可以阅读有关筛选器执行序列的更多信息-

因此,对于您的案例,您可以分析RequireFilter1中的现有操作属性,如果有任何其他ServiceFilterAttribute分配给操作,则不执行该属性。 或者,您可以创建将阻止控制器属性的属性

例如(如果ServiceFilterAttribute附加到操作,则禁用控制器筛选器执行):

此外,您还必须对过滤器的OnActionExecuted执行相同的操作

另一种方法-创建用于禁用控制器属性的单独属性:

public class DisableAttr : Attribute  
{

}
并将其签入OnActionExecuting:

actDescr.MethodInfo.GetCustomAttributes(typeof(DisableAttr),true);
public class DisableAttr : Attribute  
{

}
actDescr.MethodInfo.GetCustomAttributes(typeof(DisableAttr),true);