3

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が有効になっているかどうかを判断する方法はありますか?

4

1 に答える 1

5

技術的には方法はありますが、せいぜいハッキーと呼んでいます。それがあなたの目的に適しているかどうかをあなたに決めさせます。

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

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

私がそれをハックと呼ぶ理由は、GlimpseがOnリクエストの最初にあるかもしれないが、後でそれが変わるかもしれないからOffです。

この動作の例は、ASP.NETが画像などのサポートされていないメディアタイプの報告を開始すると、Glimpseが自動的にシャットダウンする場合です。ASP.NETには、HTTPハンドラーが実行されるまでメディアタイプを知る機能がありません。この場合、Glimpseはリクエストの最初にオンになっていると言いますが、リクエストの最後にオフになります。

于 2013-03-25T14:47:13.103 に答える