3

mvc で既存の ControllerContext をラップするカスタム ControllerContext を作成する方法はありますか?

これが私が達成したいことです...

ロギングの目的で、コントローラー名、アクション名、およびページ名をログに記録する必要があります。これらの値は ControllerContext オブジェクトから取得します。

ロギング クラスの値を取得するために、あまり興奮していない静的クラスを作成しました。

public static class ControllerContextHelper
{
    public static string GetControllerName(ControllerContext context)
    {
        string result = String.Empty;
        if (context.RouteData.Values.ContainsKey("controller"))
        {
            result = context.RouteData.Values["controller"].ToString();
        }
        return result;
    }

    public static string GetActionName(ControllerContext context)
    {
        string result = String.Empty;
        if (context.RouteData.Values.ContainsKey("action"))
        {
            result = context.RouteData.Values["action"].ToString();
        }
        return result;
    }

    public static string GetPageName(ControllerContext context)
    {
        string result = String.Empty;
        if (context.RouteData.Values.ContainsKey("page"))
        {
            result = context.RouteData.Values["page"].ToString();
        }
        return result;
    }
}

このロジックを ControllorContext オブジェクトに入れたいので、「ヘルパー」クラスを用意する必要はありません。

4

1 に答える 1