1

我使用MVC3应用这种方法如下:Application_AcquireRequestState()触发多次

protected void Application_AcquireRequestState(object sender, EventArgs e) 
     { 
      if (HttpContext.Current.Session != null) 
      { 
       CultureInfo ci = (CultureInfo)this.Session["Culture"]; 

       if (ci == null) 
       { 
        string langName = "az"; 
        ci = new CultureInfo(langName); 
        this.Session["Culture"] = ci; 
       } 

       Thread.CurrentThread.CurrentUICulture = ci; 
       Thread.CurrentThread.CurrentCulture = CultureInfo.CreateSpecificCulture(ci.Name); 
      } 
     } 

为什么这个方法叫多少次?

而当网站在其他PC的新浏览器中打开时,找不到网站资源。

回答

4

您的页面是否有多个元素(图片,脚本等)导致多个HTTP Get请求?如果是这样的话,这将会每击一次。

+0

我不明白你的意思..我的网页上有图片,脚本。当我启动应用程序时,该方法会多次触发,1次HttpContext.Current.Session为空,下一次不为空,因此,重复。 –

+0

浏览器软件应用程序在呈现多个HTTP Get或Post请求时页面(或“打开网站”)。每个HTTP Get或Post请求都会调用一次Application_AcquireRequestState。 – pamphlet

+2

我可以使用CultureInfo,在不使用Application_AcquireRequestState()方法的情况下设置站点语言来检查,将其代码写入Application_Start()? –