zoukankan      html  css  js  c++  java
  • Action Filter

    代码
    using System.Web;
    using System.Web.Mvc;
    using System.IO;

    namespace MvcApp1.ActionFilters
    {
        
    public class SimpleActionFilterAttribute : ActionFilterAttribute
        {
            
    public override void OnActionExecuting(ActionExecutingContext filterContext)
            {
                File.AppendAllText(
    @"f:\ActinoFilter.log", ID + " : OnActionExecuting" + Environment.NewLine );
            }
            
    public override void OnActionExecuted(ActionExecutedContext filterContext)
            {
                File.AppendAllText(
    @"f:\ActinoFilter.log", ID + " : OnActionExecuted" + Environment.NewLine);
            }
            
    public override void OnResultExecuting(ResultExecutingContext filterContext)
            {
                File.AppendAllText(
    @"f:\ActinoFilter.log", ID + " : OnResultExecuting" + Environment.NewLine);
            }
            
    public override void OnResultExecuted(ResultExecutedContext filterContext)
            {
                File.AppendAllText(
    @"f:\ActinoFilter.log", ID + " : OnResultExecuted" + Environment.NewLine);
            }
            
    public int ID { getset; }
        }
    ////////////////////////////////

    using System.Web;
    using System.Web.Mvc;

    namespace MvcApp1.ActionFilters
    {
        
    public class AuthenticationActionFilterAttribute:ActionFilterAttribute
        {
            
    public override void OnActionExecuting(ActionExecutingContext filterContext)
            {
                
    if (!filterContext.HttpContext.User.Identity.IsAuthenticated)
                {
                    filterContext.Result 
    = new RedirectToRouteResult("Default"new System.Web.Routing.RouteValueDictionary(new { action="SignIn"}));
                    
                }
            }
        }
    }

    ////////////////////////////////////////////////////

    using System.Web;
    using System.Web.Mvc;
    using System.IO.Compression;

    namespace MvcApp1.ActionFilters
    {
        
    public class CompressActionFilterAttribute:ActionFilterAttribute
        {
            
    public override void OnResultExecuting(ResultExecutingContext filterContext)
            {
                
    string acceptEncoding = filterContext.HttpContext.Request.Headers["Accept-Encoding"].ToLower();
                
    if (string.IsNullOrEmpty(acceptEncoding)) return;

                var response 
    = filterContext.HttpContext.Response;
                
    if (acceptEncoding.Contains("gzip"))        //, deflate
                {
                    response.AddHeader(
    "Content-Encoding""gzip");
                    response.Filter 
    = new GZipStream(response.Filter, CompressionMode.Compress);
                }
                
    else  if (acceptEncoding.Contains("deflate"))        //, deflate
                {
                    response.AddHeader(
    "Content-Encoding""deflate");
                    response.Filter 
    = new DeflateStream(response.Filter, CompressionMode.Compress);
                }
            }
        }

  • 相关阅读:
    生成随机串码并保存到Excel中
    制作100份word表
    抓取网页图片-以本地IIS网页为实践对象
    使用xlsxwriter 创建图表chart
    照片查看器2.0
    编程注意事项-记踩过的坑
    STC12C5A60S2的定时器模式16位的时候没有自动重载功能
    Keil C51 一个警告 '=': pointer: different mspace
    RT-Thread 使用笔记二
    Keil-C51读取ROM数据
  • 原文地址:https://www.cnblogs.com/wucg/p/1841665.html
Copyright © 2011-2022 走看看