1

ASP.NET WebFormsトレース出力には、アプリケーション状態のセクションがあります。Glimpseを使用して同じものを見ることができますか?

ホームコントローラーのIndex()メソッドで、いくつかのテスト値を追加しようとしましたが、どのGlimpseタブにも出力が表示されません。

ControllerContext.HttpContext.Application.Add("TEST1", "VALUE1");
ControllerContext.HttpContext.Cache.Insert("TEST2", "VALUE2");

ドキュメントにも何も表示されませんでした。

4

1 に答える 1

6

すぐに使用できるサポートがあるとは思いませんが、この情報を表示するプラグインを作成するのは簡単です。

たとえば、ApplicationStateに保存されているすべてのものを表示するには、次のプラグインを作成できます。

[Glimpse.Core.Extensibility.GlimpsePluginAttribute]
public class ApplicationStateGlimpsePlugin : IGlimpsePlugin
{
    public object GetData(HttpContextBase context)
    {
        var data = new List<object[]> { new[] { "Key", "Value" } };
        foreach (string key in context.Application.Keys)
        {
            data.Add(new object[] { key, context.Application[key] });
        }
        return data;
    }

    public void SetupInit()
    {
    }

    public string Name
    {
        get { return "ApplicationState"; }
    }
}

そして、あなたは望ましい結果を得る:

ここに画像の説明を入力してください

キャッシュに保存されているすべてのものを一覧表示するには、次のようにします。

[Glimpse.Core.Extensibility.GlimpsePluginAttribute]
public class ApplicationCacheGlimpsePlugin : IGlimpsePlugin
{
    public object GetData(HttpContextBase context)
    {
        var data = new List<object[]> { new[] { "Key", "Value" } };
        foreach (DictionaryEntry item in context.Cache)
        {
            data.Add(new object[] { item.Key, item.Value });
        }
        return data;
    }

    public void SetupInit()
    {
    }

    public string Name
    {
        get { return "ApplicationCache"; }
    }
}
于 2012-04-03T16:33:44.023 に答える