在ASP.NET stopwatch()
页面中使用.aspx.cs
。我正在尝试衡量性能,并且不确定如何使用Web表单执行此操作。我希望在过程打开时触发start()
事件,并且在过程中执行最后一行代码后触发stop()
事件。然后将程序名称,开始时间和停止时间写入文本文件。我应该如何在C#/ ASP.net中使用它?
答案 0 :(得分:2)
你考虑过使用装饰师吗?不确定"程序"但是,我会给它一个... ...
Company(CompanyRefNumber,Name,City,Country,Turnover,Year)
如果您正在使用DI容器,您可以在组合根中连接IProcedure实现,或者您可以使用Mark Seemann所指的(或习惯)作为穷人的DI:
public interface IProcedure
{
void Run();
}
public class RealProcedure : IProcedure
{
public void Run()
{
// Do interesting stuff
}
}
public class LoggingProcedure : IProcedure
{
private readonly IProcedure _procedure;
public LoggingProcedure(IProcedure procedure)
{
if (procedure == null)
throw new ArgumentNullException("procedure");
_procedure = procedure;
}
public void Run()
{
var stopWatch = new Stopwatch();
stopWatch.Start();
_procedure.Run();
stopWatch.Stop();
// Log elapsed time with w/e you are using for logging.
}
}
现在你已经将秒表考虑在内了,而你是SRP。