Asp.net mvc 4 HomeController继承自BaseController,但没有';t在BaseController中运行函数

Asp.net mvc 4 HomeController继承自BaseController,但没有';t在BaseController中运行函数,asp.net-mvc-4,internationalization,Asp.net Mvc 4,Internationalization,我创建了干净的APS.NETMVC4项目,并尝试使用教程实现国际化 我在使用baseController时遇到问题,因为当我运行项目时,baseController中的函数并没有执行。也许我忘了做点什么 基站控制器 public class BaseController : Controller { protected override void ExecuteCore() { string cultureName = null;

我创建了干净的APS.NETMVC4项目,并尝试使用教程实现国际化

我在使用baseController时遇到问题,因为当我运行项目时,baseController中的函数并没有执行。也许我忘了做点什么

基站控制器

public class BaseController : Controller
    {
        protected override void ExecuteCore()
        {
            string cultureName = null;
            //Attempt to read the culture cookie from Request
            HttpCookie cultureCookie = Request.Cookies["_culture"];
            if (cultureCookie != null)
                cultureName = cultureCookie.Value;
            else
                cultureName = Request.UserLanguages[0]; //obtain it from HTTP

            //Validation culture name
            cultureName = CultureHelper.GetImplementedCulture(cultureName); // This is safe

            //Modify current thread's cultures
            Thread.CurrentThread.CurrentCulture = new System.Globalization.CultureInfo(cultureName);
            Thread.CurrentThread.CurrentUICulture = Thread.CurrentThread.CurrentCulture;

            base.ExecuteCore();
        }

    }
public class HomeController : BaseController
    {
        public ActionResult Index()
        {
            ViewBag.Message = "Modify this template to jump-start your ASP.NET MVC application.";

            return View();
        }
}
家庭控制器

public class BaseController : Controller
    {
        protected override void ExecuteCore()
        {
            string cultureName = null;
            //Attempt to read the culture cookie from Request
            HttpCookie cultureCookie = Request.Cookies["_culture"];
            if (cultureCookie != null)
                cultureName = cultureCookie.Value;
            else
                cultureName = Request.UserLanguages[0]; //obtain it from HTTP

            //Validation culture name
            cultureName = CultureHelper.GetImplementedCulture(cultureName); // This is safe

            //Modify current thread's cultures
            Thread.CurrentThread.CurrentCulture = new System.Globalization.CultureInfo(cultureName);
            Thread.CurrentThread.CurrentUICulture = Thread.CurrentThread.CurrentCulture;

            base.ExecuteCore();
        }

    }
public class HomeController : BaseController
    {
        public ActionResult Index()
        {
            ViewBag.Message = "Modify this template to jump-start your ASP.NET MVC application.";

            return View();
        }
}

您可能希望替代
Initialize
方法
ExecuteCore

以下是一个解释和解决方案: