ASP.NET MVC ×Ô¶¨Òå¹ýÂËÊôÐÔʵÏÖEnterpriseµÄlog¹¦ÄÜ
ÏÖÔ򵀮óÒµ¼¶¿ª·¢ÏîÄ¿£¬ÌرðÊÇÍøÕ¾Ò»°ã¶¼»áÓõ½log¹¦ÄÜ£¬ÏëÏë´ó²¿·Ö»áÓÃEnterprise Logging Application Block µÄ¹¦ÄÜ »òÕß×Ô¼ºÐ´Ò»¸ö×é¼þ£¬¼Ç¼ϵͳÈÕ־ʼþ£¬¸üºÃµÄ¸ú×ÙÁ˽âϵͳÔËÐÐÇé¿ö, ÏÖÓÃASP.NET MVC µÄ¹ýÂËÊôÐÔʵÏÖlog¹¦ÄÜ£¡
ASP.NET MVCµÄfilter ÊÇÒ»¸öÊôÐÔ£¬¿ÉÒÔÓ¦Óõ½controller ºóÕßaction.µ±Controller»òÕßaction method ±»µ÷ÓÃʱ£¬ASP.NET MVCµÄfilterÔÚµ÷ÓÃÖ´ÐÐǰºó»á±»´¥·¢¡£ ÏÈ¿´Ïµ±Control ÀïÃæµÄaction ±»µ÷ÓÃʱµÄÀûÓü̳Ð,×Ô¶¨ÒåÀàlogµÄЧ¹ûͼ£º
ҪʵÏÖÉÏÃæµÄЧ¹û£¬ÏÖ×Ô¶¨ÒåÒ»¸öÀàLogMessageAttribute,LogMessageAttribute¼Ì³Ð½Ó¿ÚIActionFilter ,IResultFilter,Ò²¿ÉÒÔÑ¡ÔñÐԵļ̳ÐÖØÐ´ÀàFilterAttribute¡£
IActionFilter interface ¶¨ÒåΪ£º
public interface IActionFilter
{
// Methods
void OnActionExecuted(ActionExecutedContext filterContext);
void OnActionExecuting(ActionExecutingContext filterContext);
}
OnActionExecuting £ºÔÚController ÀïÃæµÄaction method µ÷ÓÃ֮ǰÔËÐÐ
OnActionExecuted£ºÔÚController ÀïÃæµÄaction method µ÷ÓÃÖ®ºóÔËÐУ¬µ«ÊÇÔÚIResultFilter½Ó¿ÚµÄOnResultExecuting·½·¨Ö´ÐÐ֮ǰ
IResultFilter interface¶¨ÒåΪ£º
public interface IResultFilter
{
// Methods
void OnResultExecuted(ResultExecutedContext filterContext);
void OnResultExecuting(ResultExecutingContext filterContext);
}
OnResultExecuting£ºÔÚController ÀïÃæµÄaction methodµ÷Óô¦ÀíÍæÇ°Ö´ÐÐ.
OnResultExecuted£ºÔÚController ÀïÃæµÄaction methodµ÷Óô¦ÀíÍæºóÖ´ÐÐ.
½ÓÏÂÀ´ÊÇÖØÍ·Ï·£ºLogMessageAttribute×Ô¶¨ÒåÀà
´úÂë
[AttributeUsage(AttributeTargets.Class |AttributeTargets.Method ,Inherited=true ,AllowMultiple=true )]
public class LogMessageAttribute:FilterAtt
Ïà¹ØÎĵµ£º
ÉÏ´Î×öÁ˸öÏîÄ¿£¬Éæ¼°µ½Êý¾Ý¿âµÄ»¹ÔºÍ»Ö¸´£¬µ½ÍøÉÏÕÒÁËһϣ¬ÊÇÀûÓÃSQLDMOʵÏֵģ¬Ö»ÒªÌí¼ÓSQLDMOÒýÓþͺÃÁË£¬È»ºóÀûÓÃϱߵÄÀàµÄ·½·¨¾Í¿ÉÒÔʵÏÖÁË¡£
ÎÒ°ÑÔ×÷ÕßµÄÀàÀ©³äÁËһϣ¬¿ÉÒÔ×Ô¶¯Ê¶±ðweb.configÀï µÄÊý¾Ý¿âÁ¬½Ó×Ö·û´®£¬¿ÉÒÔͨ¹ý±äÁ¿ÉèÖû¹Ô»Ö¸´µÄÐÅÏ¢¡£
ÐèҪעÒâµÄʱ»¹Ô£¬»¹ÔµÄʱºòÎÊÌ ......
¶ÔWebÓ¦ÓóÌÐòÀ´Ëµ£¬·¢Éú²»¿ÉÔ¤ÖªµÄ´íÎóºÍÒì³£ÔÚËùÄÑÃ⣬ÎÒÃDZØÐëΪWeb³ÌÐòÌṩ´íÎó´¦Àí»úÖÆ¡£µ±´íÎó·¢Éúʱ£¬ÎÒÃDZØÐë×öºÃÁ½¼þÊÂÇ飺һÊǽ«´íÎóÐÅÏ¢¼Ç¼ÈÕÖ¾£¬·¢ÓʼþÍ¨ÖªÍøÕ¾Î¬»¤ÈËÔ±£¬·½±ã¼¼ÊõÈËÔ±¶Ô´íÎó½øÐиú×Ù´¦Àí£»
¶þÊÇÒÔÓѺõķ½Ê½Ìáʾ×îÖÕÓû§Ò³Ãæ·¢ÉúÁË´íÎ󣬶ø²»Äܽ«Î´´¦ÀíµÄ´íÎóÐÅÏ¢ÏÔʾ¸øÓû§¡£
&nbs ......
Êý¾Ý¿â²Ù×÷Àࣺ
¸´ÖÆ´úÂë ´úÂëÈçÏÂ:
/// <summary>
/// È¡µÃ×ÜÊý
/// </summary>
/// <returns></returns>
public string getTotal()
{
StringBuilder sb = new StringBuilder();
sb.Append("select count(*) total from Test");
DataTable dt = DBHelper.ExecuteDt(sb.ToString ......