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

  • 相关阅读:
    linux strace 命令详解
    Redis执行Lua脚本示例
    getconf
    rc.sysinit 解析
    Linux系统启动内幕
    syslinux 和 grub
    isolinux.cfg 文件是干什么的
    C++中构造函数调用构造函数
    static和extern的作用域--题目
    构造函数与析构函数不能被继承
  • 原文地址:https://www.cnblogs.com/wucg/p/1841665.html
Copyright © 2011-2022 走看看