我正在使用Azure SDK 2.5.1,主要是关于新设计的诊断内容。但是,我发现我无法让它运行我的网络角色。
因此,我创建了一个云服务项目,添加了一个Web角色。然后,我在Application_Start
中的Global.asax.cs
末尾添加了一条跟踪消息:
Trace.TraceInformaction("Application_Start end.");
之后,我右键单击了WebRole并打开了Properties
选项卡。在诊断配置窗口中:
'Custom plan'
,同时指定了存储帐户,将'Disk Quota in MB'
保留为默认'4096'
'Log level'
切换为'All'
,其他人保持默认将项目部署到云后,我发现了一些意想不到的事情:
WADLogsTable
。这很奇怪,如果我使用工作者角色,它会按预期工作。那么在web角色中,我找不到Trace logging?WADPerformanceCountersTable
表存储中的8个。在我的假设中,随着时间的推移,这8个计数器的值将越来越多地转移到该表中。但事实并非如此,经过几个小时,它仍然有8个计数器值。 我只是认为Web角色的诊断程序刚刚崩溃或根本不工作。同时,我检查了位于服务器"C:\Logs\Plugins\Microsoft.Azure.Diagnostics.PaaSDiagnostics\1.4.0.0\DiagnosticsPlugin.log"
的日志,在这个文件的末尾有一个异常说某些诊断进程退出:
DiagnosticsPlugin.exe Error: 0 : [4/25/2015 5:38:21 AM] System.ArgumentException: An item with the same key has already been added.
at System.Collections.Generic.Dictionary`2.Insert(TKey key, TValue value, Boolean add)
at Microsoft.Azure.Plugins.Diagnostics.dll.PluginConfigurationSettingsProvider.LoadWadXMLConfig(String fullConfig)
DiagnosticsPlugin.exe Error: 0 : [4/25/2015 5:38:21 AM] Failed to load configuration file
DiagnosticsPlugin.exe Information: 0 : [4/25/2015 5:38:21 AM] DiagnosticPlugin.exe exit with code -105
从MSDN开始,代码-105
表示:
Diagnostics插件无法打开诊断配置文件。
这是一个内部错误,只有在诊断程序中才会发生 在VM上手动调用插件错误。
没有意义,我对VM没有任何作用。
正如我上面所说,我对Visual Studio 2013生成的脚手架代码进行了非常小的更改。我做错了什么或者它是Azure SDK 2.5的错误?
顺便说一下,工人角色似乎一切正常。
答案 0 :(得分:1)
引自MSDN forum:
嘿伙计们在这里跳得很晚但只是想确认最初的1.4.0.0诊断扩展存在问题,在某些情况下插件可能会在网络角色上崩溃。
此问题已在1.4.1.0中得到解决。如果您在角色上重新应用扩展程序,则应自动获取修复此问题的最新版本。
在早期阶段,SDK 2.5.1中的诊断内部存在一些内部问题,但Microsoft已经修复了它。
无论如何,我们可以应用更新的版本,所以这不再是问题,以防你遇到这个问题。