我希望能够使用 Azure 记录事件。
目前,我正在使用 EventLog 和 .WriteEntry 将其写入本地计算机上的日志。但是,当我将其上传到 Azure 时,我收到请求错误。
我看过有关在 Microsoft.ServiceHosting.ServiceRuntime 中使用 RoleManager 的指南,但 Microsoft.ServiceHosting.ServiceRuntime 不是可添加的可用引用(它显示“已筛选为:.NET Framework 4 和 Microsoft.ServiceHosting.ServiceRuntime”)不在列表中)。
有没有办法让日志记录与 .NET Framework 4 引用一起使用?
最佳答案
好吧,首先我总是建议人们尝试抽象一些东西,比如直接写入事件日志。它是一种系统依赖性,可以通过使用松散耦合的提供程序更好地表达。这样,您创建的特定代码片段就可以在本地使用,也可以在 Windows Azure 中使用,只需更改提供程序即可。
其次,创建您自己的事件源存在安全限制。因此,我相当确定,如果这就是您尝试执行的操作,该操作将引发异常。
最后,角色管理器问题不是错误。当 Windows Azure 一年前商业化时,该类已被弃用。我写了一篇简短的文章来讨论它:http://brentdacodemonkey.wordpress.com/2010/03/05/azure-service-configuration-updated-or-%e2%80%9cwhere-did-rolemanager-go%e2%80%9d/
根据您的情况,我会考虑创建一个直接写入 Azure 表存储的简单适配器。然后,您可以让您需要的任何事件监视进程定期检查该表。或者,使用 Azure 存储队列,这样您就不必不断扫描表中的新项目。 :) 只需查看队列并在发现该项目时拉取项目即可。
关于azure - 使用 Azure 的事件日志,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4961093/