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

  • 相关阅读:
    怎么把共享文件夹显示在我的电脑
    window时间同步机制的简单介绍
    向指定服务器的指定端口发送UDP包
    窜口通信-读取时间码
    窜口通信-发送时间码
    回环网卡通信
    简单的TCP接受在转发到客户端的套接口
    国内能用的NTP服务器及和标准源的偏差值
    简单的UDP接受程序
    TCP包服务器接受程序
  • 原文地址:https://www.cnblogs.com/wucg/p/1841665.html
Copyright © 2011-2022 走看看