Azure 服务应用 [Mobileservice] - 自定义错误响应

Azure Service App [Mobileservice] - Custom error response

我一直在开发一个应用程序,有时在编码过程中我收到没有内容的 500 内部服务器错误,这并不是它应该显示的内容。我写了一个代码来测试控制器中的错误响应如下:

    [HttpGet]
    [Route("TryCatch")]
    public IHttpActionResult TestCatch()
    {
        try
        {
            object obj = null;
            int i = (int) obj;
            return Ok();
        }
        catch (Exception e)
        {
            return InternalServerError(e);
        }
    }

当我在本地尝试此操作时,我确实收到了有关我所希望的错误的信息。至于在生产中,我所看到的只是(在邮递员中){ "message": "An error has occurred." } 和状态代码。

我环顾四周,找到了我认为可以解决我的问题的方法: 但事实并非如此。

添加 <httpErrors errorMode="Custom" defaultResponseMode="passThrough"><customErrors mode="On"/> 或 web.config 中的任何内容也无济于事。

感谢任何帮助!

请将自定义错误模式更改为关闭而不是打开。

<customErrors mode="Off"/>

并将 IncludeErrorDetailPolicy 属性 更改为始终在 WebApiConfig.cs 文件(Azure 移动服务)或 Startup.cs 文件(Azure 移动应用程序)中。

config.IncludeErrorDetailPolicy = IncludeErrorDetailPolicy.Always;

之后,我可以从 exceptionMessage 中获取详细的异常消息 属性。

{"message":"An error has occurred.","exceptionMessage":"Object reference not set to an instance of an object.","exceptionType":"System.NullReferenceException","stackTrace":""}