20

シングルページの JavaScript アプリケーション (JavascriptMvc で作成) と、ASP.NET MVC3 (NServiceMVC で作成) の上に構築された REST サービスを備えたバックエンドがあります。

REST サービスには MiniProfiler がインストールされて実行されており、X-MiniProfiler-Ids ヘッダーは各 AJAX 要求で返されます。実際にミニプロファイラーを実行して動作させていますが、これに関する情報が見つからなかったため、正しい方法で実行しているかどうかわかりません。

これはサポートされているシナリオですか? また、これを行う具体的な方法はありますか?


私が現在やっていることはこれです:

HTML アプリ (これはすべて静的コードであり、動的なものはありません) には、次のものがあります。

<script type="text/javascript" src="/api/profiler"></script>

私の MVC アプリには、次のものがあります。

    public ActionResult Profiler()
    {
        if (!ControllerContext.HttpContext.IsDebuggingEnabled)
        {
            return new EmptyResult();
        }
        return new ContentResult() { 
            Content = StackExchange.Profiling.MiniProfiler.RenderIncludes(
                        position: RenderPosition.Right,
                        showControls: true
                      )
                      .ToString()
                      .Replace("<script type=\"text/javascript\">", "")
                      .Replace("</script>", "") 
        };
    }

明らかに、ここにはハードコーディングされた<script>タグを削除するためのハックがあります。

これ以外は、MVC 側の残りの部分から、プロファイラーは通常とまったく同じように使用されます。アプリで REST 呼び出しを発生させるアクションを実行すると、ミニプロファイラーが隅にそれを表示します。ここでもパラメーターを使用するshowControls:trueと、クリア ボタンが表示されるので非常に便利です。そうしないと、ページ全体が基本的に更新されないため、一定のアクション リストが表示されるだけだからです。

これはこれを行う「正しい」方法ですか、それとももっと良い方法がありますか?

4

1 に答える 1