3
下面用於記錄的索引和方面方法。如何將參數的名稱傳遞給方面方法
操作:
[LogAspect]
public ActionResult Index(int projectId)
{
...
return PartialView(model);
}
看點方法:
[Serializable]
public class LogAspect : OnMethodBoundaryAspect
{
public override void OnExit(MethodExecutionArgs args)
{
var parameters = JsonConvert.SerializeObject(args.Arguments.ToList());
string message = string.Format("Releted method parameters:{0}", parameters);
Logger.Info(string.Format("Controller:{0}, Action:{1}", args.Method.DeclaringType.FullName, args.Method.ToString()), message);
base.OnExit(args);
}
}
我能得到的projectid
值像[1]
整數。 但是,正如你猜測我正在使用這方面的方法來記錄這些信息,如果沒有參數的名稱(它被寫入數據庫)沒有意義,所以我想獲得像[projectId:1]
等參數。
如果我在控制器中使用記錄器,則反射會很容易,但是我正在使用方面方法執行此過程。
返回null都選擇和來源,但我得到了你的觀點努力實現這個.. – TyForHelpDude