7

我正在尝试使用单个 asp.net 应用程序在云解决方案中测试 Azue 诊断监视器。

每次尝试启动诊断监视器时都会出现异常:

        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: 

我不知道我错过了什么,我一直在查看一些链接,他们正是这样做的。任何的想法?

干杯。

4

3 回答 3

9

这一定是在开玩笑:|

问题是路径太长,我将项目移到D:\然后它工作正常@.@

当我进入一篇讨论路径长度限制的文章时,我偶然找到了解决方案。

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

我也撞到头了:(

于 2011-02-15T09:48:54.780 回答
2

我不确定这个特殊问题。

但是,可能有帮助的一件事是,在 Page_Load 中启动 Diagnostics 是不常见的——在 Role Start 方法中启动更为典型。

此外,我不建议使用短至 5 秒的时间来传输日志文件 - 一个小时或更长时间通常更合适(尽管我知道这个设置目前只是为了帮助您进行测试!)

于 2011-02-14T17:14:12.093 回答
0

我发现在 IISExpress 下运行项目而不是 IIS Web 服务器为我解决了这个问题。要更改此设置,请转到 Azure 项目上的属性并转到 Web 选项卡,您可以更改此设置。

于 2013-07-12T21:29:30.773 回答