Я не могу запустить Azure Diagnostic Monitor - PullRequest
7 голосов
/ 14 февраля 2011

Я пытаюсь протестировать диагностический монитор Azue в облачном решении с помощью одного приложения asp.net.

При каждом запуске монитора диагностики я получаю исключение:

        CloudStorageAccount account = CloudStorageAccount.Parse("UseDevelopmentStorage=true");

        Write(account.TableEndpoint.AbsoluteUri);

        // Get default initial configuration.
        var config = DiagnosticMonitor.GetDefaultInitialConfiguration();

        config.Logs.ScheduledTransferLogLevelFilter = LogLevel.Undefined;
        config.Logs.ScheduledTransferPeriod = TimeSpan.FromSeconds(5);

        // Start the diagnostic monitor with the modified configuration.
        DiagnosticMonitor.Start(account, config); // Exception

Исключение говорит:

System.ArgumentException was unhandled by user code
  Message=Directory C:\Users\Me\Documents\Visual Studio 2010\Projects\CloudDebuggingTest\CloudDebuggingTest\bin\Debug\CloudDebuggingTest.csx\roles\CloudDebuggingTest.Web\diagnostics\x64\monitor does not exist.
  Source=Microsoft.WindowsAzure.Diagnostics
  StackTrace:
       at Microsoft.WindowsAzure.Diagnostics.DiagnosticMonitor.ValidateStartupInfo(DiagnosticMonitorStartupInfo startupInfo) in :line 0
       at Microsoft.WindowsAzure.Diagnostics.DiagnosticMonitor.StartWithExplicitConfiguration(DiagnosticMonitorStartupInfo startupInfo, DiagnosticMonitorConfiguration initialConfiguration) in :line 0
       at Microsoft.WindowsAzure.Diagnostics.DiagnosticMonitor.Start(CloudStorageAccount storageAccount, DiagnosticMonitorConfiguration initialConfiguration) in :line 0
       at CloudDebuggingTest.Web._Default.StartDiagnostics() in C:\Users\Me\Documents\Visual Studio 2010\Projects\CloudDebuggingTest\CloudDebuggingTest.Web\Default.aspx.cs:line 48
       at CloudDebuggingTest.Web._Default.Page_Load(Object sender, EventArgs e) in C:\Users\Me\Documents\Visual Studio 2010\Projects\CloudDebuggingTest\CloudDebuggingTest.Web\Default.aspx.cs:line 19
       at System.Web.Util.CalliHelper.EventArgFunctionCaller(IntPtr fp, Object o, Object t, EventArgs e)
       at System.Web.UI.Control.LoadRecursive()
       at System.Web.UI.Page.ProcessRequestMain(Boolean includeStagesBeforeAsyncPoint, Boolean includeStagesAfterAsyncPoint)
  InnerException: 

Я понятия не имею, что мне не хватает, я проверил некоторые ссылки, и они делают именно это.Есть идеи?

Приветствия.

Ответы [ 3 ]

9 голосов
/ 15 февраля 2011

Это, должно быть, шутит: |

Проблема в том, что путь слишком длинный, я переместил проект в D:\, а затем он работает нормально.Я нашел решение случайно, когда зашёл в статью, рассказывая об ограничениях длины пути.

http://markegilbert.wordpress.com/2010/11/05/i-just-hit-my-head-on-a-cloud-microsoft-azure-and-full-path-limits/

Я тоже ударился головой: (* ​​1011 *

2 голосов
/ 14 февраля 2011

Я не уверен насчет этой конкретной проблемы.

Однако, одна вещь, которая может помочь, состоит в том, что необычно запускать диагностику в Page_Load - гораздо более типично запускать в методе Role Start.

Кроме того, я бы не рекомендовал использовать для переноса ваших файлов журнала такой короткий период, как 5 секунд - обычно более подходящий час или более (хотя я понимаю, что этот параметр как раз сейчас используется, чтобы помочь сваше тестирование!)

0 голосов
/ 13 июля 2013

Я обнаружил, что Запуск проекта под IISExpress, а не IIS Web Server, решил эту проблему для меня.Чтобы изменить это, перейдите в свойства проекта Azure и перейдите на вкладку Web, вы можете изменить этот параметр.

...