14版哥斯拉的官方做的宣传网站,怎样进行站点优化,宝华路桥建设集团网站,企业为什么做网站 图片写在前面
在做性能调优的时候#xff0c;经常需要跟踪具体方法的执行时间#xff1b;通过插入Stopwatch的方案对代码的侵入性太高了#xff0c;所以引入了 MethodTimer.Fody 类库#xff0c;采用编译时注入的方式给方法动态加上Stopwatch 跟踪代码#xff0c;只需要在目标…写在前面
在做性能调优的时候经常需要跟踪具体方法的执行时间通过插入Stopwatch的方案对代码的侵入性太高了所以引入了 MethodTimer.Fody 类库采用编译时注入的方式给方法动态加上Stopwatch 跟踪代码只需要在目标方法上添加 [Time] 属性标签即可实现注入。
需要到NuGet安装一下Fody 和 MethodTimer.Fody PM Install-Package Fody PM Install-Package MethodTimer.Fody 代码实现 // 方法执行时长记录器
public static class MethodTimeLogger
{public static void Log(MethodBase methodBase, long milliseconds, string message){Console.WriteLine($方法{methodBase.Name} 耗时{milliseconds}秒, 信息{message});}
}// 测试目标类
public class MethodTracer
{[Time(跟踪测试)]public void TestMethod(){Console.WriteLine(TestMethod: 开始执行);Thread.Sleep(123);}
}
调用示例 var methodTracer new MethodTracer(); methodTracer.TestMethod(); 执行结果 注意事项
有个需要特别注意的事情否则注入代码无法生效在项目中添加 FodyWeavers.xml 文件并将属性设置为始终复制。 Xml文件内容如下
?xml version1.0 encodingutf-8?
Weavers xmlns:xsihttp://www.w3.org/2001/XMLSchema-instance xsi:noNamespaceSchemaLocationFodyWeavers.xsdMethodTimer /
/Weavers
直接黏贴以下内容vs会自动生成xsd Weavers MethodTimer/ /Weavers