2011-02-14 97 views
7

我试图在单个asp.net应用程序的云解决方案中测试Azue诊断监视器。我无法启动Azure诊断监视器

每次我尝试启动诊断时得到一个异常监测器:

 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: 

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

干杯。

回答

9

这一定是在开玩笑吧:

的问题是,路径太长,我搬到了项目D:\,然后它的正常工作@。@

我发现偶然的解决方案,当我踏进了一篇文章谈论路径限制长度。

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

我打我的头太:(

+1

回到我刚才的观点,请注意,如果你将传输时间设置为5秒,那么你实际上将传输设置为OFF!请参见http:// blogs。 msdn.com/b/mcsuksoldev/archive/2010/06/25/common-problems-collecting-azure-diagnostics.aspx – Stuart 2011-02-15 12:34:18

2

我不确定这个问题。

但是,有一件事可能会有所帮助,那就是在Page_Load中启动诊断程序并不常见 - 在角色启动方法中启动更为典型。

此外,我不推荐使用短至5秒的时间来传输日志文件 - 一个小时或更长的时间通常更合适(尽管我明白此设置只是在那里帮助您进行测试!)

0

我发现跑步固定这个问题对我来说IISExpress下的项目,而不是IIS Web服务器。要改变这一走就Azure项目的性质,得到了到Web Tab,你可以改变这个设置