как культура перетекает из приложения MVC в веб-API

Я работаю в приложении MVC и приложении WebAPI. Оба приложения размещены отдельно.

ниже код культуры упоминается в 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 знает о текущей культуре. Мой запрос GET/POST отправляется в веб-API из контроллера MVC.

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.


person user3310138    schedule 28.05.2015    source источник


Ответы (1)


Вы также можете проверить файлы cookie в веб-API. Вы можете реализовать это в фильтре действий веб-API или в пользовательском компоненте промежуточного программного обеспечения, если вы используете OWIN, чтобы это выполнялось автоматически для всех запросов.

Если нет, вам придется хранить культуру на стороне клиента и отправлять ее в качестве параметра всем запросам на стороне сервера.

Однако, если вы используете веб-API, скорее всего, вы изменяете элементы DOM на стороне клиента в зависимости от значения, возвращаемого API. В этом случае вы можете вернуть необработанные значения из веб-APi и отформатировать их на стороне клиента, например, используя moment.js. для дат.

person JotaBe    schedule 28.05.2015