假设我在控制器中有一个工作方法。伪代码可能是:
public IEnumerable<ViewMP3> MyMP3(string token, string id)
{
using (ControlDbContext db = new MyDbContext())
{ List<ViewMP3> list = ...some list linq statement
return list;
}}
我使用 HttpClient 使用 WebAPI 并且没有产生错误。现在,假设我故意抛出一个错误: throw new ArgumentException("hello"); //插入到上面的方法中
如何获得真正详细的错误消息。我只能得到 IIS 7.5 详细错误 - 500.0 - 内部服务器错误。注意:为了不混淆问题,我将 WebAPI 服务的错误输出以字符串的形式传递回客户端。该错误源自服务内部,但只会产生 500.0 错误。通常会返回 JSON,但是当设置了已知错误条件时,我会更改代码以获取字符串格式的响应并传递给客户端。这就是我知道错误包含什么的方式。
我尝试启用“将错误发送到浏览器”。我已将 IIS 错误页面功能设置更改为详细错误。我已将 Web.Config 更改为包含
<customErrors mode="Off" />
<compilation debug="true" targetFramework="4.0" />
和
<httpErrors errorMode="Detailed">
<remove statusCode="500" subStatusCode="-1" />
</httpErrors> .
我已授予包含 Web 文件的文件夹的 IIS_IUSRS 权限。
当天早些时候,我遇到了一个真正的错误,由于一般的 500.0 错误,几乎无法排除故障。知道我还能做些什么来获取详细的错误消息吗?
谢谢!