0

我正在使用 IActionFilter.OnActionExecuted (ASP.NET Core 3.1) 设置带有媒体类型和字符集的 context.HttpContext.Response.ContentType,例如 application/json;字符集=utf-8。

但是,在设置 ContentType 属性时,会返回响应状态代码 406 Not allowed。

我试过了:

  • 设置请求的 Accept headers (Accept: application/json; Accept-Charset: utf-8);
  • services.AddMvc(options => options.RespectBrowserAcceptHeader = false);
  • services.AddMvc(options => options.ReturnHttpNotAcceptable = true);

加上上述的组合,但 406 不断回来。

然后我尝试设置没有字符集的响应内容类型,这有效!

这可能是有道理的 Accept=application/json != Content-Type=application/json; charset=utf-8,但是我现在找不到设置字符集的方法。

有什么想法吗?

干杯,

彼得

4

0 回答 0