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 オブジェクトに入れたいので、「ヘルパー」クラスを用意する必要はありません。