带有 HTTPStatusCodeResult 的自定义错误消息在本地主机上不起作用

Custom error message with HTTPStatusCodeResult not working on localhost

我有一个控制器操作,如果验证失败,returns 400:

return new HttpStatusCodeResult(HttpStatusCode.BadRequest, "My custom message");

当 运行 在本地时,我收到标准的“400 Bad Request”,而不是预期的“400 My custom message”。它在部署的站点上运行良好,并且 当 运行 在我的旧 PC 上本地运行时

这可能是 IIS 或 Visual Studio 配置问题?我试过比较我的旧计算机和当前计算机的 applicationHost.config,但那里没有什么明显的。

回复图片(还不能嵌入):

编辑:旧电脑的OS是Windows7,新电脑的OS是Windows10。两者都安装了IIS Express 10,项目配置为使用。

在开发工具中观察请求显示行为不当的请求使用 HTTP/2,并且所有其他变体(新计算机到部署站点,旧计算机到本地主机,旧计算机到部署站点)正在使用 HTTP/1.1.

From the HTTP/2 specification:

HTTP/2 does not define a way to carry the version or reason phrase that is included in an HTTP/1.1 status line.

And the reason从旧电脑移到新电脑时突然出现问题:

HTTP/2 is a rework of how HTTP semantics flow over TCP connections, and HTTP/2 support is present in Windows 10 and Windows Server 2016.