как културният поток от MVC Appication към уеб 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 Controller.

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. Така че webAPI връща дата, час и числов формат според текущата култура на mvc приложението.


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


Отговори (1)


Можете също да проверите за бисквитките в уеб API. Можете да приложите това във филтър за действие на Web API или в персонализиран компонент на междинен софтуер, ако използвате OWIN, така че да се прави автоматично за всички заявки.

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

Въпреки това, ако използвате Web API, най-вероятно променяте DOM елементите в клиентската страна в зависимост от стойността, върната от API. В такъв случай бихте могли да върнете необработени стойности от Web API и да ги форматирате от страна на клиента, например като използвате moment.js за дати.

person JotaBe    schedule 28.05.2015