Asp.net mvc 如何从MVC应用程序到web API的文化流
我在MVC应用程序和WebAPI中工作。这两个应用程序分别托管 下面的区域性代码在MVC应用程序的Global.asax中提到Asp.net mvc 如何从MVC应用程序到web API的文化流,asp.net-mvc,asp.net-web-api,globalization,Asp.net Mvc,Asp.net Web Api,Globalization,我在MVC应用程序和WebAPI中工作。这两个应用程序分别托管 下面的区域性代码在MVC应用程序的Global.asax中提到 protected void Application_AcquireRequestState(object sender, EventArgs e) { string langCode = ""; try { langCode = HttpConte
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应用程序了解当前文化。我的GET/POST请求从mvc控制器转到web 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应用程序的区域性调用。因此,webAPI将根据MVC应用程序当前区域性返回日期时间和数字格式。您还可以检查Web API中的cookie。您可以在WebAPI操作过滤器中实现,或者在自定义中间件组件(如果您使用OWIN)中实现,以便对所有请求自动完成 如果没有,则必须将区域性存储在客户端,并将其作为参数发送到服务器端的所有请求 但是,如果您使用的是Web API,则很可能是根据API返回的值更改客户端中的DOM元素。在这种情况下,您可以从Web APi返回原始值,并在客户端对其进行格式化,例如使用for dates