0

我有从WebJobSDK,Service Bus监视器创建的Azure WebJob。基本上,WebJob不断监视服务总线,处理消息并继续寻找新消息。当我在本地调试(F5)应用程序时,该过程完美地工作。它基本上从总线获取消息,将其转换为XML文件,将该文件复制到Azure BLOB容器,然后调用Azure SQL插入控制行。调试Azure Web App Web作业

我的问题是,当我发布WebJob时,我有一个错误,我不知道如何调试。我可以查看服务总线消息,并看到该进程正在查看消息,失败,再执行该消息9次,然后消息进入死信息队列。当消息被窥视10次并且从未完成时(我将这个默认值设置为10),这是预期的,所以我知道我的进程正在运行,但是发生异常失败。

我有我的所有代码尝试/捕获。我需要在Catch中放置什么才能在Azure门户中显示某些内容,以便我可以调试哪些问题?我实际上在catch处理函数中有一个调用,它读取exception.InnerException并尝试将其写入数据库表,但令人惊讶的是,这种情况从未发生过。

我很欣赏任何见解。非常感谢......

+0

你可以做远程调试与蔚蓝webjo BS。谷歌周围你会发现一步一步如何做到这一点的资源。一个例子:https://www.opsgility.com/blog/2016/06/22/remote-debugging-azure-web-apps-from-visual-studio/ – akd

+0

https://blogs.msdn.microsoft.com/ webdev/2014/11/12/new-developer-and-debugging-features-for-azure-webjobs-in-visual-studio/ – akd

回答

3

你可以做到这一点,如下所示:

  • 在VS,去云浏览器(使用您有最新的Azure工具)
  • 找到你的Web应用程序下的应用服务
  • 下它,去WebJobs下,找到你连续WebJob
  • 右键单击它并选择连接调试
+0

非常感谢大卫。我发现了这个功能,但是当我尝试附加到远程进程时,它抱怨发生了一个32位,64位的冲突。我会尽力解决这个问题,但是你的建议很棒。 – DanielG