gpt4 book ai didi

mvc-mini-profiler - 确定 Glimpse 是否在 Application_BeginRequest() 期间运行

转载 作者:行者123 更新时间:2023-12-01 23:24:39 25 4
gpt4 key购买 nike

我已经安装了 Glimpse (Glimpse MVC4) 和 MiniProfiler(支持 EF)。

我还为 Glimpse 安装了 MiniProfiler 插件。

我已将其全部连接好并开始工作。我想允许 Glimpse 的配置来确定 MiniProfiler 是否应该开始分析。也就是说,如果启用了 Glimpse(通过 Glimpse.axd 而不是通过配置设置),我想在 Application_BeginRequest() 方法中调用 MiniProfiler.Start()。所以,像这样:

protected void Application_BeginRequest()
{
if (Glimpse.IsRunning)
{
MiniProfiler.Start();
}
}

有没有办法确定 Glimpse 是否已启用?

最佳答案

技术上有一种方法,但我最多只能称之为 hacky。我会让您决定它是否适合您的目的。

var policyString = HttpContext.Current.Items["__GlimpseRequestRuntimePermissions"].ToString();
RuntimePolicy glimpsePolicy;
RuntimePolicy.TryParse(policyString, out glimpsePolicy);

if (!glimpsePolicy.HasFlag(RuntimePolicy.Off))
{
MiniProfiler.Start();
}

我之所以称其为 hack,是因为虽然 Glimpse 在请求开始时可能是On,但稍后可能会被Off

此行为的一个示例是,一旦 ASP.NET 开始报告不受支持的媒体类型(如图像),Glimpse 就会自动关闭。在 HTTP 处理程序运行之前,ASP.NET 无法知道媒体类型。在这种情况下,Glimpse 会说它在请求开始时处于打开状态,但会在请求结束时关闭。

关于mvc-mini-profiler - 确定 Glimpse 是否在 Application_BeginRequest() 期间运行,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15598805/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com