gpt4 book ai didi

asp.net - 如何将消息记录到 Windows Azure 存储?

转载 作者:行者123 更新时间:2023-12-03 03:19:10 25 4
gpt4 key购买 nike

我试图花几个小时完成一项非常简单的任务,但没有成功。 我只想将消息记录到 Windows Azure 存储,以便稍后分析

到目前为止我已经尝试过:

我已经启用了这样的诊断:

enter image description here

之后,我将此行放入我的 Application_Start 中:

Trace.TraceError("My Error");

我希望将其记录到 Windows Azure 存储中。但事实并非如此。然后我读到here我应该首先配置 DiagnosticMonitor 类。但我认真地认为这个类已被弃用..因为它位于版本 1.7 的程序集 Microsoft.WindowsAzure.StorageClient 中(其他版本是 1.8 或 2.0),当我添加对它的引用时,我所有的CloudStorageAccount 引用变得不明确,因为此程序集具有我在其他程序集 Microsoft.WindowsAzure.Storage(较新)中已有的类。我真的认为我不应该添加对 StorageClient 的引用。

简单来说..我读了很多文档却一无所获。

你能告诉我到底要做什么吗?我会非常感激。谢谢。

PS:我正在将 VS 2012 与 Windows Azure Tools 2012 年 10 月版一起使用

最佳答案

您所做的(在屏幕截图中)已启用诊断。您需要做的下一件事是在代码中配置诊断。为此,请按照下列步骤操作:

  1. 在 web.config 中添加以下代码行:

      <system.diagnostics>
    <trace>
    <listeners>
    <add type="Microsoft.WindowsAzure.Diagnostics.DiagnosticMonitorTraceListener, Microsoft.WindowsAzure.Diagnostics, Version=1.8.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35" name="AzureDiagnostics">
    <filter type=""/>
    </add>
    </listeners>
    </trace></system.diagnostics>
  2. 在您的角色的 OnStart() 方法中配置诊断。该代码仅用于跟踪日志:

        DiagnosticMonitorConfiguration config = DiagnosticMonitor.GetDefaultInitialConfiguration();

    // Set an overall quota of 8GB.
    config.OverallQuotaInMB = 4096;
    // Set the sub-quotas and make sure it is less than the OverallQuotaInMB set above
    config.Logs.BufferQuotaInMB = 512;
    TimeSpan myTimeSpan = TimeSpan.FromMinutes(2);
    config.Logs.ScheduledTransferPeriod = myTimeSpan;//Transfer data to storage every 2 minutes

    // Filter what will be sent to persistent storage.
    config.Logs.ScheduledTransferLogLevelFilter = LogLevel.Undefined;//Transfer everything
    // Apply the updated configuration to the diagnostic monitor.
    // The first parameter is for the connection string configuration setting.
    DiagnosticMonitor.Start("Microsoft.WindowsAzure.Plugins.Diagnostics.ConnectionString", config);

这应该可以用于诊断。

关于旧版和新版存储客户端库的混淆:当前 Windows Azure 诊断模块依赖于旧版存储客户端库 (Microsoft.WindowsAzure.StorageClient.dll)。因此,您需要确保您的项目中引用了该库。您可以从 C:\Program Files\Microsoft SDKs\Windows Azure\.NET SDK\2012-10\ref 文件夹手动添加引用。如果您同时使用旧的存储客户端库和新的存储客户端库 (Microsoft.WindowsAzure.Storage.dll),就会出现困惑。因此,您需要确保 CloudStorageAccount 对象的范围正确。

完成所有设置后,您应该能够看到在存储帐户中创建的名为 WADLogsTable 的表以及进入该表的数据。

关于asp.net - 如何将消息记录到 Windows Azure 存储?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15672003/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com