当前位置: 首页 > 编程笔记 >

在.NET MVC C#中可以在哪些级别应用筛选器?

邵鸿福
2023-03-14
本文向大家介绍在.NET MVC C#中可以在哪些级别应用筛选器?,包括了在.NET MVC C#中可以在哪些级别应用筛选器?的使用技巧和注意事项,需要的朋友参考一下

在ASP .Net MVC应用程序中,可以在三个级别上应用过滤器。

  • 行动方法水平

  • 控制器级别

  • 全球水平

行动方法水平

在“操作方法”级别应用的过滤器仅特别适用于该操作方法。

using System.Web.Mvc;
namespace DemoMvcApplication.Controllers{
   public class HomeController : Controller{
      [Authorize] //Action Method Level
      public string Index(){
         return "Index Invoked";
      }
   }
}

控制器级别

控制器级过滤器适用于所有操作方法。以下过滤器适用于HomeController的所有操作html" target="_blank">方法,但不适用于其他控制器。

using System.Web.Mvc;
namespace DemoMvcApplication.Controllers{
   [Authorize] //Controller Level
   public class HomeController : Controller{
      public string Index1(){
         return "Index1 Invoked";
      }
      public string Index2(){
         return "Index2 Invoked";
      }
   }
}

全球水平

使用默认的FilterConfig.RegisterGlobalFilters()方法,在global.asax.cs文件的Application_Start事件中提供了全局级别的筛选器。全局过滤器将应用于应用程序的所有控制器和操作方法。

public class MvcApplication : System.Web.HttpApplication{
   protected void Application_Start(){
      AreaRegistration.RegisterAllAreas();
      FilterConfig.RegisterGlobalFilters(GlobalFilters.Filters);
      RouteConfig.RegisterRoutes(RouteTable.Routes);
      BundleConfig.RegisterBundles(BundleTable.Bundles);
   }
}
public class FilterConfig{
   public static void RegisterGlobalFilters(GlobalFilterCollection filters){
      filters.Add(new HandleErrorAttribute());
      filters.Add(new AuthorizeAttribute());
   }
}
 类似资料:
  • 问题内容: 如何配置JSch记录器的级别? 是否可以通过XML配置Log4J? 问题答案: JSch似乎没有使用任何已知的日志记录框架(我使用JSch v0.1.49,但最新版本是v0.1.51)或任何XML配置文件。所以这就是我所做的: 然后在使用JSch之前: 请注意,您可以使用所需的任何日志记录框架类(Log4j,Logback等)来代替and , 您可以在此处获得完整的示例:http :

  • 本文向大家介绍vim 我可以使用哪些选项?,包括了vim 我可以使用哪些选项?的使用技巧和注意事项,需要的朋友参考一下 示例 如果您不知道应该使用哪些选项,则可能对该:options命令感兴趣。 这将打开一个列出所有Vim选项并显示其当前值的拆分。有26个部分显示您可以尝试的所有选项。 例如 在值行(例如set nowrap)上,您可以按CR切换值(如果它是二进制值)。在选项行(例如wrap lo

  • 本文向大家介绍CSS选择器有哪些?哪些属性可以继承?相关面试题,主要包含被问及CSS选择器有哪些?哪些属性可以继承?时的应答技巧和注意事项,需要的朋友参考一下 选择器 通配符 id class 标签 后代选择器 子选择器 兄弟选择器 属性选择器 伪类选择器 伪元素选择器 可以继承的属性 font-size font-weight font-style font-family color

  • 我一直在为Scala mongo驱动程序中的MongoDB的过滤器而苦苦挣扎。我正在尝试获取集合中的所有文档,其中文档中的特定字符串位于字符串列表中。我在Scala中创建一个字符串列表,然后使用in操作符构建查询: 它起作用了。这是我在打印in运算符筛选器时看到的结果 但是当我试图在第二个参数中传递一个列表来使用第二个重载的方法时,它就不起作用了。我试图用来过滤的列表是动态的。我尝试过scala列

  • 问题内容: 我有一些类似于以下内容的标记: 在这种情况下,“橙色”显示为所选项目。我曾希望将属性设置为空白会撤消其影响。有没有一种方法可以简单地将属性留在外面呢? 问题答案: 不同的浏览器可能会不同地对待此属性。根据MSDN文档(对于Internet Explorer): 要选择HTML中的项目,不必将SELECTED属性的值设置为true。仅存在SELECTED属性会将其值设置为true。 在f

  • 我已经根据本手册将Spring Boot配置为使用Log4j2。我想通过根记录器中设置的级别过滤所有日志。下面是我的log4j2-spring.xml文件: 问题是,我仍然看到来自hibernate和spring框架的DEBUG输出。我设法通过为某些条目指定完整的包名来筛选单个日志,如下所示: