C#
 Computer >> コンピューター >  >> プログラミング >> C#

ASP .Net MVC C#でフィルターを適用できるレベルは何ですか?


ASP .Net MVCアプリケーションでは、フィルターは3つのレベルで適用できます。

  • アクションメソッドレベル
  • コントローラーレベル
  • グローバルレベル

アクションメソッドレベル

アクションメソッドレベルで適用されるフィルターは、特にそのアクションメソッドでのみ機能します。

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

コントローラーレベル

コントローラレベルのフィルタは、すべてのアクションメソッドに適用されます。次のフィルターは、HomeControllerのすべてのアクションメソッドに適用できますが、他のコントローラーには適用できません。

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

  1. C#ASP.NET WebAPIのさまざまな種類のフィルターは何ですか?

    フィルタは、WebApiFrameworkリク​​エスト処理のさまざまなレベルで追加のロジックを挿入するために使用されます。フィルタは、横断的関心事(ロギング、承認、およびキャッシング)の方法を提供します。フィルタは、宣言的またはプログラム的な方法でアクションメソッドまたはコントローラに適用できます。以下は、Web API C#のフィルターの種類です。 認証フィルター − 認証フィルターは、ユーザーの詳細を認証するのに役立ちます。認証フィルターでは、ユーザーの信頼性をチェックするためのロジックを記述します。 認証フィルター − 承認フィルターは、ユーザーアクセスのチェックを担当しま

  2. C#ASP.NET WebAPIでのコントローラーアクションのさまざまな戻り値の種類は何ですか?

    Web APIアクションメソッドは、次のリターンタイプを持つことができます。 ボイド プリミティブ型/複合型 HttpResponseMessage IHttpActionResult 無効 − すべてのアクションメソッドが何かを返す必要はありません。ボイドリターンタイプにすることができます。 例 using DemoWebApplication.Models using System.Web.Http; namespace DemoWebApplication.Controllers{    public class DemoCont