【问题标题】:Azure backend return 500 in PATCH operationAzure 后端在 PATCH 操作中返回 500
【发布时间】:2018-02-08 21:36:01
【问题描述】:

仅当我尝试将对象从我的 xamarin.Forms 离线数据库更新到 Azure 时,我才拼命尝试调试错误 500。我正在使用 Azure 移动客户端。 我在 azure 中将所有日志记录设置为 ON,然后我下载了日志。我可以看到一般错误,但没有任何用处。

<failedRequest url="https://MASKED:80/tables/Appel/9A3342A2-0598-4126-B0F6-2999B524B4AE"
           siteId="Masked"
           appPoolId="Masked"
           processId="6096"
           verb="PATCH"
           remoteUserName=""
           userName=""
           tokenUserName="IIS APPPOOL\Masked"
           authenticationType="anonymous"
           activityId="{80000063-0000-EA00-B63F-84710C7967BB}"
           failureReason="STATUS_CODE"
           statusCode="500"
           triggerStatusCode="500"
           timeTaken="625"
           xmlns:freb="http://schemas.microsoft.com/win/2006/06/iis/freb"
           >

失败的表是唯一一个我用导航字段的一些虚拟运行时计算字段扩展的表。但是我添加了 [JsonIgnore] 以停止 AzureService 在本地数据库中创建字段(该工作)或通过线路将其发送到服务器。但是在调试 c# Azure 后端时,我总是遇到 500 错误,而不是异常。 如何在我的后端找到堆栈跟踪或此 500 错误的“深层”原因?

【问题讨论】:

    标签: azure azure-sql-database azure-mobile-services


    【解决方案1】:

    对于 C# 移动应用后端,您可以在 Startup.MobileApp.cs 文件的 ConfigureMobileApp 方法中添加以下代码,以包含错误详细信息并返回到客户端。

    config.IncludeErrorDetailPolicy = IncludeErrorDetailPolicy.Always;
    

    您可以在移动应用程序中捕获异常,或在调用 PATCH 操作以检索详细错误消息时利用 fiddler 捕获网络跟踪。

    此外,您正在查看Failed Request Traces日志,您需要查看应用程序日志。您可以关注Enable diagnostics logging for web apps in Azure App Service的详细信息。

    【讨论】:

    • 你救了我的命! config.IncludeErrorDetailPolicy = IncludeErrorDetailPolicy.Always;做的伎俩。我现在得到“真正的”错误。感谢您的帮助
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2015-12-18
    • 2020-08-27
    • 2018-01-27
    • 1970-01-01
    相关资源
    最近更新 更多