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

    }
  • 相关阅读:
    关于modelsim的波形文件(vsim.wlf)(转自http://www.eefocus.com/ican/blog/1010/196941_ebbde.html)
    c++ 头文件 再学习
    c++头文件和#include 学习笔记
    C++中嵌入汇编(vs)
    cocos2dx plist使用
    OpenGL 前凑
    别人的经验和自己现在的疑惑
    C++ 枚举类型
    cocos2dx draw & update
    const对象分析
  • 原文地址:https://www.cnblogs.com/pingjiang/p/1869201.html
Copyright © 2011-2022 走看看