如何在Azure Web角色启动时跟踪错误?

Seb*_*ter 5 web-config azure

我是天蓝色的网络角色.它在开发应用程序结构中本地运行正常,但在部署到Azure时无声地失败(根本没有响应任何请求).

我认为这是web.config的一些问题,但这种情况发生得如此之早,以至于在我可以在全局asax中设置诊断内容之前就已经发生了.如上所述,它在本地工作正常,但是天蓝色系统根本没有任何响应.

我怎样才能找到能够解决它的具体问题,例如获取异常文本,堆栈跟踪,IIS应用程序系统错误日志或任何可能暗示我真正问题的东西?

Jer*_*Gee 4

在 Web 角色中运行的绝对第一件事不是您的应用程序,而是OnStart()Azure 项目中 WebRole.cs 中的方法。您可以在此处添加代码来监视您的网站。

标准技术是将应用程序跟踪日志和 Windows 事件日志与 CPU 使用情况、IIS 统计信息和其他信息(如果适用)一起复制到 Azure 表存储。

对此有一个很好的介绍:http://blog.bareweb.eu/2011/01/beginning-azure-diagnostics/

关于您的应用程序中需要的具体细节的详细信息如下: http: //blog.bareweb.eu/2011/03/implementing-azure-diagnostics-with-sdk-v1-4/

它仍然适用于 Azure SDK 1.5。

捕获诊断信息后,您可以使用 Visual Studio 直接查看它们,也可以使用Cerebrata Azure 诊断管理器等工具自动绘制图表和筛选它们。这个工具的边缘有点粗糙(特别是对于具有多个实例的大型系统:图表并不是真正有用),但目前已经足够好了。


另一种方法是使用远程桌面连接到远程实例,并在 Windows 事件日志等中进行一些探索。您还可以使用远程实例上的 Internet Explorer 浏览器直接在本地连接到应用程序,并查看可能隐藏的任何错误等。

就我个人而言,只有在诊断存储机制不起作用的情况下,我才会这样做:生产服务器确实应该完全关闭远程桌面访问,以减少外部攻击的可能范围。