【发布时间】:2015-05-15 10:50:29
【问题描述】:
我在 Azure 中部署的 ASP.NET WebApi 中遇到模型验证错误问题。
这是返回 ModelState 错误的代码:
public static class ComprobarErroresModelo
{
public static string GetErrors(ModelStateDictionary modelState)
{
var result = "";
foreach (var error in modelState.Values.SelectMany(value => value.Errors))
if (string.IsNullOrEmpty(error.ErrorMessage))
result = result + error.Exception.Message + '\n';
else
result = result + error.ErrorMessage + '\n';
return result;
}
}
在 global.asax 中,我尝试了一些修改:
protected void Application_AcquireRequestState(object sender, EventArgs e)
{
Thread.CurrentThread.CurrentUICulture = new CultureInfo("es");
Thread.CurrentThread.CurrentCulture = new CultureInfo("es");
CultureInfo.DefaultThreadCurrentCulture = new CultureInfo("es");
CultureInfo.DefaultThreadCurrentUICulture = new CultureInfo("es");
}
void Application_BeginRequest(Object sender, EventArgs e)
{
Thread.CurrentThread.CurrentUICulture = new CultureInfo("es");
Thread.CurrentThread.CurrentCulture = new CultureInfo("es");
CultureInfo.DefaultThreadCurrentCulture = new CultureInfo("es");
CultureInfo.DefaultThreadCurrentUICulture = new CultureInfo("es");
}
但它们都不能在 Azure 中运行,我总是收到英文的 ModelState 错误
我已经在本地环境中将“es”更改为“en”进行了测试,它工作正常,但在 Azure 中它总是显示英文消息错误
如何在 Azure Web 角色中获取西班牙语或其他语言的 ModelState 错误??
【问题讨论】:
标签: c# azure asp.net-web-api localization