我正在尝试使用单个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:
我不知道我错过了什么,我一直在检查一些链接,他们正是这样做的。有什么想法吗?
干杯。
答案 0 :(得分:9)
这一定是在开玩笑吧:|
问题是路径太长,我把项目移到D:\
然后它工作正常@。@
当我进入一篇谈论路径长度限制的文章时,我偶然发现了解决方案。
我也打了我的脑袋:(
答案 1 :(得分:2)
我不确定这个特殊问题。
然而,有一件事可能会有所帮助,那就是在Page_Load中启动Diagnostics是不寻常的 - 从Role Start方法开始更为典型。
此外,我不建议使用短至5秒的时间来传输日志文件 - 一小时或更长时间通常更合适(虽然我知道此设置目前只是帮助您进行测试! )
答案 2 :(得分:0)
我发现在IISExpress下运行项目而不是IIS Web Server为我修复了这个问题。要更改此项,请转到Azure项目上的属性并转到Web选项卡,您可以更改此设置。