zoukankan      html  css  js  c++  java
  • 一个简单的ActionFilter

    [AttributeUsage(AttributeTargets.Class|AttributeTargets.Method,
    Inherited
    =true,AllowMultiple=true)]
    public class LogAttribute :FilterAttribute,IActionFilter,IResultFilter
    {
    public string LogName { get; set; }

    public void Log(string controller, string action, string msg)
    {
    if (!string.IsNullOrEmpty(LogName))
    {
    TextWriter writer
    = new StreamWriter(LogName, true);
    writer.WriteLine(
    "Time:{0}", DateTime.Now.ToString("yyyy-MM-dd hh:mm:ss"));
    writer.WriteLine(
    "Controller:{0}", controller);
    writer.WriteLine(
    "Action:{0}", action);
    writer.WriteLine(
    "Msg:{0}", msg);
    writer.WriteLine(
    "System:{0}", System.Environment.OSVersion.Version.ToString());
    writer.WriteLine(
    "ThreadID:{0}", AppDomain.GetCurrentThreadId());
    writer.Close();
    }
    }

    public void OnActionExecuting(ActionExecutingContext filterContext)
    {
    Log(filterContext.RouteData.Values[
    "controller"].ToString(), filterContext.RouteData.Values["action"].ToString(), "Action Executing...");
    }

    public void OnActionExecuted(ActionExecutedContext filterContext)
    {
    Log(filterContext.RouteData.Values[
    "controller"].ToString(), filterContext.RouteData.Values["action"].ToString(), "Action Executed.");
    }

    public void OnResultExecuting(ResultExecutingContext filterContext)
    {
    Log(filterContext.RouteData.Values[
    "controller"].ToString(),
    filterContext.RouteData.Values[
    "action"].ToString(),
    "Result executing...");
    }

    public void OnResultExecuted(ResultExecutedContext filterContext)
    {
    Log(filterContext.RouteData.Values[
    "controller"].ToString(),
    filterContext.RouteData.Values[
    "action"].ToString(),
    "Result executed");
    }

    }
  • 相关阅读:
    php wamp 配置虚拟主机
    php xml 操作。
    第一个输入框中 输入 test,第二个输入框中自动出现 test.baibu.com
    正则表达式 手机号码的验证
    JQery 设置 退格键 不可用 jQery 中的keydown 事件
    YII 片段缓存如何实现。
    php set_time_limit() 函数
    VLAN
    进程
    802.11无线网络权威指南
  • 原文地址:https://www.cnblogs.com/pingjiang/p/1869201.html
Copyright © 2011-2022 走看看