我创建了一个带有许多控制器的Microsoft Web API。在我的本地计算机(Win 7,IIS Express)上测试其中一个控制器一切正常。我可以删除" make" id为1的对象使用请求localhostetc / makes / 1。当我部署到服务器(W2K8,IIS7.5)时,我在同一请求中收到500错误 - 请参阅http://api.carsnow.ie/makes/1
我的问题不是导致错误的原因,但错误是什么?当我得到0长度响应时,我无法看到细节。之前我收到了一个自定义错误,但在某个阶段,当我试图查看底层堆栈跟踪时,我甚至丢失了。
到目前为止,我已尝试过以下内容....
我将CustomErrors改为" Off"在web.config中
我将此代码添加到WebAPIConfig.cs - http://lostechies.com/jimmybogard/2012/04/18/custom-errors-and-error-detail-policy-in-asp-net-web-api/
我添加了
GlobalConfiguration.Configuration.IncludeErrorDetailPolicy = IncludeErrorDetailPolicy.Always;
到Global.asax
我在IIS7中启用了详细错误
答案 0 :(得分:0)
这article可以帮助您:
在早期版本的IIS中,来自传统ASP脚本的错误消息 默认情况下,它们被发送到Web浏览器。因为这些错误信息 可能会向恶意用户IIS 7及更高版本泄露敏感信息 默认情况下禁用此功能。当你的经典ASP脚本 在IIS中遇到错误,您收到以下错误消息 默认值:
An error occurred on the server when processing the URL. Please contact the system administrator. If you are the system administrator please click here to find out more about this error.
答案 1 :(得分:0)
我怀疑这对每个人都有用,但最后我能够通过删除"错误页面中的500个自定义错误页面的设置来强制使用IIS。在IIS中设置网站。看来当它无法找到自定义错误的模板时,它会吐出真正的错误。