响应请求的代码如下:
return new HttpStatusCodeResult(ex.Detail.HttpStatusCode, ex.Detail.ReasonPhrase);
Response.AddHeader("X-Status", ex.Detail.ReasonPhrase);有趣的是,在浏览器/客户端上,当涉及一个特殊的字符(如ç或é)时,原因短语会按预期呈现,但是X状态不会!
这是一张非信徒的截图

我测试了无数的编码组合,但都没有用.X状态失败了.
我必须使用X-Status自定义头,因为StatusText覆盖了StatusText提供的任何消息.
发布于 2015-10-09 05:44:48
HTTP规范没有为标头字段或状态行定义字符编码(当然,不会超出US)。如果你需要非ASCII角色,你就只能靠自己了。一个可靠的方法是百分比编码,例如.
还要注意的是,HTTP/2没有状态行,因此试图使用它返回信息是不可能的。
https://stackoverflow.com/questions/33025635
复制相似问题