Asp.net 资源文化价值的自动变化

Asp.net 资源文化价值的自动变化,asp.net,asp.net-mvc-5,culture,uiculture,Asp.net,Asp.net Mvc 5,Culture,Uiculture,我正在应用程序中使用资源文件。 在BaseController中,我定义了我的应用程序区域性,如下所示 protected override IAsyncResult BeginExecuteCore(AsyncCallback callback, object state) { string cultureName = RouteData.Values["culture"] as string; CultureInfo culture = null

我正在应用程序中使用资源文件。 在BaseController中,我定义了我的应用程序区域性,如下所示

protected override IAsyncResult BeginExecuteCore(AsyncCallback callback, object state)
    {

        string cultureName = RouteData.Values["culture"] as string; 

        CultureInfo culture = null;


        HttpCookie cultureCookie = Request.Cookies["_culture"];
        if (cultureCookie != null)
            cultureName = "de-CH"; 
        else
            cultureName = "de-CH"; 
        // Validate culture name
        cultureName = CultureHelper.GetImplementedCulture(cultureName); 

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

        Thread.CurrentThread.CurrentCulture = CultureInfo.CreateSpecificCulture(cultureName);
        System.Globalization.CultureInfo.DefaultThreadCurrentCulture = Thread.CurrentThread.CurrentCulture;
        System.Globalization.CultureInfo.DefaultThreadCurrentUICulture = Thread.CurrentThread.CurrentCulture;      
        return base.BeginExecuteCore(callback, state);
    }
但有时,如果系统闲置几分钟,应用程序文化会自动变为英语

我试图重现这个问题,但它并不总是发生

谁能告诉我为什么会发生这种事

我没有为区域性设置任何过期值