Azure Service应用程序[MobileService] - 自定义错误响应



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

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

当我在本地尝试此操作时,我确实会收到有关我想要的错误的信息。至于生产中,我所看到的只是(在邮递员({ "消息":"发生了错误。"}和状态代码。

我环顾四周,找到了我认为解决问题的方法:内部服务器错误 - Azure App Service自定义控制器,但不是。

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

任何帮助都将受到赞赏!

请将自定义错误模式更改为关闭。

<customErrors mode="Off"/>

和更改include includeRordetailPolicy属性始终在Webapiconfig.cs文件(Azure Mobile Service(或startup.cs文件(Azure Mobile App(中。

config.IncludeErrorDetailPolicy = IncludeErrorDetailPolicy.Always;

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

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

最新更新