C# 它';是否可以仅为一个操作忽略ServiceFilter控制器?
是否可以仅为一个操作忽略ServiceFilter控制器,然后应用另一个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附加
你好 对于您的情况,这两个过滤器都将在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);