我的 mvc 应用程序中有一个控制器,如下所示。
public class BaseController: Controller
{
protected void LogInfo()
{
logger.InfoFormat("[SessionID: {0}, RemoteIP: {1}]", Session.SessionID, Request.UserHostAddress); }
}
public class FirstController : BaseController
{
public ActionResult Index(string name)
{
LogInfo();
getQueryString();
if(IsValidRec())
{
if(Errors()))
{
return View("Error");
}
var viewname = getViewName(name);
return view(viewname);
}
else
return view("NotFound");
}
}
我需要使用与 FirstController 相同的 ActionResult 方法创建另一个控制器(SecondController),但没有任何实现。因为我不会在 2 个 ActionResult 方法中重复相同的代码。
最好的方法是什么。我尝试了以下方式,但是在初始化受保护的方法“LogInfo()”时出现错误
public class SecondController : BaseController
{
public ActionResult Index(string name)
{
var firstcontroller = new FirstController();
return firstcontroller.Index(name);
}
}