我制作了一个在本地运行良好的 Azure 移动服务。
然后,我将 Azure 移动服务发布到云,网站显示它当前正在运行。
然后我做了一个GET Request
到我发布的网站,它返回以下内容:
状态 500 内部服务器错误 500 内部服务器错误 A 一般
错误消息,当没有更具体的消息合适时给出
{“message”:“发生错误。” }
我尝试添加:
<system.web>
<customErrors mode="Off"/>
</system.web>
To my Web.Config
in the Site\wwwroot
目录但这没有做任何事情。
那么如何从我的 Azure 移动服务返回更有意义的错误?
结果是从 a 返回错误Web API
与返回错误不同Asp.net
or iis
From 这个链接 https://lostechies.com/jimmybogard/2012/04/18/custom-errors-and-error-detail-policy-in-asp-net-web-api/我发现了以下内容:
今天,Kurt 和我尝试调试我们拥有的 Web API 服务
部署到远程机器。该服务返回 500 个错误,
由于各种原因,我们不能仅仅尝试满足来自
那个部署的盒子。我们希望获得完整的异常详细信息
响应,但我们只看到空白 500 错误,没有响应。
我们首先尝试了自定义错误的 Web.Config 设置:
<customErrors mode="Off" />
但这并没有影响任何事情。进一步挖掘,我们发现
ASP.NET Web API 使用不同的配置来获取错误详细信息
被传承。这有几个原因:第一、习俗
Web.Config 中的错误元素是 ASP.NET 的东西。这是一个东西
ASP.NET 用于确定是否出现黄屏死机
应向用户显示更多详细信息。然而,ASP.NET Web API
被设计为在 ASP.NET 和 IIS 之外自托管。虽然
customErrors 元素会影响 ASPX 和 MVC 的请求,它会影响
Web API 没有任何内容。
Web API 不依赖大量 XML 配置,而是使用大量
的编程配置。这有助于自我托管,但对于
更改错误详细信息等策略,我们必须更改代码,
重新编译并重新部署。要在我们的应用程序中设置错误策略,
我们需要修改全局 Web API 配置:
GlobalConfiguration.Configuration.IncludeErrorDetailPolicy
= IncludeErrorDetailPolicy.Always;
在这种模式下,来自任何来源的请求都会给我们带来完全的例外
细节。这可能不是我们在生产中想要的东西,但很好
它是可用的。
所以总而言之,从 a 中查看错误Web API
你想去你的Startup
类中你会看到ConfigureMobileApp
method.
这将包括以下行:
HttpConfiguration config = new HttpConfiguration();
并且您想要添加以下内容:
config.IncludeErrorDetailPolicy = IncludeErrorDetailPolicy.Always;
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)