作者热门文章
- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我想使用 MiniProfiler 为 Application_OnStart 计时。到目前为止,我一直没有成功。我尝试创建一个 Timing 并将其添加到根的子级,但它没有收集我想要的所有数据。它还从整体配置文件时间中减去启动时间,因此它以负持续时间结束。目前我唯一的解决方案是自己用秒表计时并将其添加到客户端计时。这会从第一个请求中删除客户端计时并添加应用程序启动持续时间。但是我没有获得自定义时间等。此外,由于我使用 AddProfilerResults 方法将我的 API 配置文件组合到我的 MVC 配置文件中(对于 MVC UI,它们包含在步骤中),第一个 MVC 上 API 的启动时间request 不包括在内,基本上就丢了。
MiniProfiler.Current.ClientTimings = new ClientTimings
{
Timings = new List<ClientTimings.ClientTiming>
{
new ClientTimings.ClientTiming
{
Duration = startTime,
Id = Guid.NewGuid(),
MiniProfilerId = Guid.NewGuid(),
Name = "Application_Start",
Start = 0
}
}
};
最佳答案
我们在 Stack Overflow 上的做法是在启动方法中创建一个 MiniProfiler
,向其添加步骤,然后将其呈现为静态字符串:
public static string ApplicationStartTimings { get; private set; }
protected void Application_Start(object sender, EventArgs e)
{
// init MiniProfiler.Settings here
// ...
var prof = new MiniProfiler("Application_Start");
using (prof.Step("Register routes"))
{
RegisterRoutes(RouteTable.Routes);
}
// ... more config and steps
try
{
ApplicationStartTimings = prof.Render().ToString();
}
catch { }
}
然后您可以通过路由来显示这些时间。这很棘手,但可以完成工作。
编辑 - 我添加了一个 branch to my MiniProfiler fork which demonstrates这个工作;这是主索引页面上的输出:
关于c# - 如何将启动时间添加到 MiniProfiler?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31082870/
我是一名优秀的程序员,十分优秀!