nhibernate和ef
不同映射框架
大一点的项目总会有相关的AOP面向切面的组件,而MVC(特指:Asp.Net MVC,以下皆同)项目中Action在执行前或者执行后我们想做一些特殊的操作(比如身份验证,日志,异常,行为截取等),而不想让MVC开发人员去关心和写这部分重复的代码。那么,我们可以通过AOP截取实现,而在MVC项目中我们就可以直接使用它提供的Filter的特性帮我们解决,不用自己实现复杂的AOP了。
https://www.cnblogs.com/niouxiaopei/articles/4372571.html
https://www.cnblogs.com/pophis/p/4349622.html
image.pngnamespace Filters
{
public class LogAop : ActionFilterAttribute
{
public LogAop(string queryCondition)
{
this._queryCondition = queryCondition;
}
string _queryCondition;
/// <summary>
/// 执行后
/// </summary>
/// <param name="filterContext"></param>
public override void OnActionExecuted(ActionExecutedContext filterContext)
{
var LoginId = filterContext.HttpContext.Request.Cookies["LoginInfo"]["LoginId"];
_queryCondition += HttpUtility.UrlDecode(filterContext.HttpContext.Request.QueryString.ToString());
log.Info(DateTime.Now.ToString() + " " + LoginId + " " + _queryCondition);//写入一条新log
}
/// <summary>
/// 执行前
/// </summary>
/// <param name="filterContext"></param>
public override void OnActionExecuting(ActionExecutingContext filterContext)
{
}
}
}
网友评论