相关疑难解决方法(0)

在非开发环境中省略了从Web API方法返回的错误消息

我有一个Web API控制器POST方法,在本地和测试服务器上运行良好.如果一切顺利,它会返回:

new HttpResponseMessage( HttpStatusCode.Created )
Run Code Online (Sandbox Code Playgroud)

如果出现问题,它会返回:

new HttpResponseMessage<IEnumerable<string>>( usefulMessages, HttpStatusCode.BadRequest );
Run Code Online (Sandbox Code Playgroud)

问题是,当我向测试服务器发出导致错误的请求时,我收到了错误的请求代码,但我从未看到过这些消息.如果我向本地计算机发出完全相同的请求,我会看到消息.以下输出来自我自己的工具:

发送请求到我的本地机器我得到:

Status code: 400 (BadRequest)
Response data: ["Error message one", "Error message two"]
Run Code Online (Sandbox Code Playgroud)

向测试服务器发送请求我得到:

Status code: 400 (BadRequest)
Response data: Bad Request
Run Code Online (Sandbox Code Playgroud)

正在运行的代码完全相同.数据库是一样的.除服务请求的服务器外,一切都是一样的.我甚至有代码通过电子邮件发送自己的错误消息,所以我知道服务器正在生成正确的错误消息并且行为正确.这可能是一个IIS的东西(比如customErrors = RemoteOnly for Web API)?不仅从响应数据中省略了错误消息,而且发生了短语"错误请求"而不是放在那里.

有任何想法吗?谢谢.

asp.net iis asp.net-web-api

26
推荐指数
3
解决办法
2万
查看次数

标签 统计

asp.net ×1

asp.net-web-api ×1

iis ×1