ServiceStack本地化的消息文本

ete*_*ner 6 web-services servicestack

有没有办法通过来自客户端的传入请求设置从SS返回的错误消息的文化?我是否可以以某种方式设置JSONService客户端的文化,然后让SS响应该文化中的消息文本.

jru*_*ren 3

是的,您可以在预请求过滤器中设置每个请求的当前区域性:

host.PreRequestFilters.Add((httpReq, httpResp) =>
{
    Thread.CurrentThread.CurrentUICulture = DefaultCulture;

    if (httpReq.Headers.AllKeys.Contains(HttpHeaderKeys.AcceptLanguage))
    {
        var cinfo = new CultureInfo(httpReq.Headers[HttpHeaderKeys.AcceptLanguage]);
        if (new ResourceManager(typeof(ResourceFile)).GetResourceSet(cinfo, false, false) != null)
            Thread.CurrentThread.CurrentUICulture = cinfo;
    }
});
Run Code Online (Sandbox Code Playgroud)