2015-05-28 41 views
0

我正在MVC应用程序和WebAPI .both应用程序中分别托管。如何从MVC应用程序到web API文化流程

以下文化代码在Global.asax中的MVC应用程序中提到

protected void Application_AcquireRequestState(object sender, EventArgs e) 
     { 
      string langCode = ""; 
      try 
      { 
       langCode = HttpContext.Current.Request.Cookies["es-mx].Value; 

      } 
      catch (Exception) 
      { 
       langCode = "en-US"; 
      } 
      CultureInfo ci = new CultureInfo(langCode); 
      Thread.CurrentThread.CurrentUICulture = (ci); 
      Thread.CurrentThread.CurrentCulture = CultureInfo.CreateSpecificCulture(ci.Name);    
     } 

我的MVC应用程序了解当前culture.my GET/POST请求转到从MVC控制器的网络API。

public JsonResult callWebApiAdmin(EmpViewModel objEmpModel) 
     { 

      object resultView = null; 
      try 
      { 
       string url = webAPIUrl + "EmpAPI/callWebApiAdmin"; 

       resultView = UtilityHelper.SaveData(url, objEmpModel); 

      } 
      catch (Exception ex) 
      { 


      } 
      return Json(resultView, JsonRequestBehavior.AllowGet); 
     } 

但如何的WebAPI知道哪些文化从MVC Application.so调用的WebAPI根据MVC应用程序当前区域性返回日期时间和数字格式。

回答

0

您还可以检查Web API中的cookie。如果您使用OWIN,您可以在Web API操作筛选器或自定义中间件组件中实现该功能,以便自动完成所有请求。

如果不是,您应该将文化存储在客户端,并将其作为参数发送给服务器端的所有请求。

但是,如果您使用的是Web API,则很可能您正在更改客户端中的DOM元素,具体取决于从API返回的值。在这种情况下,您可以从Web APi返回原始值并在客户端对其进行格式化,例如在日期中使用moment.js

相关问题