设置事务的名称:
using System.Web;
using System.Reflection;
namespace TingYun.Tool
{
public static class TingyunAPI
{
public static void SetActionName(string category, string name)
{
HttpContext context = HttpContext.Current;
if (context != null)
{
object action = context.Items["tingyun.action"];
if (action != null)
{
try
{
PropertyInfo property = action.GetType().GetProperty(
"ActionName",
BindingFlags.Instance | BindingFlags.Public
);
if (property != null)
{
object[] param = {
string.Format("{0}/{1}", category, name.Replace("/","%2F"))
};
property.GetSetMethod(false).Invoke(action, param);
}
}
catch
{ }
}
}
}
}
}
修改事务名称
假设我们使用了自己的MVC框架,需要在自己的路由中将事务名称修改为:controller名称 + action名称。 嵌码后:
TingyunAPI.SetActionName(controller, action)