Heim >Backend-Entwicklung >C#.Net-Tutorial >Auf welcher Ebene können Filter in ASP .Net MVC C# angewendet werden?

Auf welcher Ebene können Filter in ASP .Net MVC C# angewendet werden?

WBOY
WBOYnach vorne
2023-09-04 13:49:021361Durchsuche

在 ASP .Net MVC C# 中可以应用过滤器的级别是什么?

In ASP .Net MVC-Anwendungen können Filter auf drei Ebenen angewendet werden.

  • Aktionsmethodenebene
  • Controllerebene
  • Globale Ebene

Aktionsmethodenebene

Filter, die auf der Aktionsmethodenebene angewendet werden, gelten nur für diese Ebene Aktionsmethode.

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

Controller-Ebene

Filter auf Controller-Ebene werden auf alle Aktionsmethoden angewendet. Die folgenden Filter sind Gilt für alle Aktionsmethoden von HomeController, jedoch nicht für andere Regler.

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";
      }
   }
}

Globale Ebene

Filter auf globaler Ebene werden im Application_Start-Ereignis von global.asax.cs bereitgestellt Erstellen Sie die Datei mit der Standardmethode FilterConfig.RegisterGlobalFilters(). globaler Filter Wird auf alle Controller und Aktionsmethoden der Anwendung angewendet.

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());
   }
}

Das obige ist der detaillierte Inhalt vonAuf welcher Ebene können Filter in ASP .Net MVC C# angewendet werden?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Stellungnahme:
Dieser Artikel ist reproduziert unter:tutorialspoint.com. Bei Verstößen wenden Sie sich bitte an admin@php.cn löschen