【发布时间】:2012-11-16 09:31:02
【问题描述】:
我的解决方案中有多个 Web 和辅助角色,但我还有一个在 Azure 托管 VM 上运行的非 Azure 应用程序。该应用程序连接到 Azure 存储以执行各种操作,例如读取和写入 Blob 和队列,并且运行良好。
我想在同一个应用程序(在 Azure 中托管的 VM 上运行的 .NET 应用程序)中使用 Azure 诊断。但是,如果我尝试初始化诊断程序,则会出现以下异常:
System.InvalidOperationException:未在托管服务或 Development Fabric 中运行。
这是有道理的,但我想知道是否可以在不作为托管服务的情况下以某种方式使用诊断。特别是,我使用 azure 诊断来收集由 System.Diagnostics.Trace 写出的日志信息,这些信息都隐藏在应用程序代码之外,所以如果有其他一些 API,我可能可以将其插入.
有什么想法吗? 谢谢, JC
【问题讨论】:
-
不是一个真正的答案,但是......常规的日志记录程序集(Log4Net)会暂时工作吗?将代码抽象出来,对于非 Windows 应用程序,它会记录到文件/数据库等,而对于 Azure,它会进行诊断。也许将来他们会支持这一点,您的代码就可以使用了。
-
您可以添加自己的跟踪侦听器,用于写入表存储、blob 存储甚至 SQL Azure。