并不真地。如果您查看底层GetValue
方法的代码,您会看到:
private static string GetValue(string providerName, string settingName, Func<string, string> getValue)
{
string str1 = getValue(settingName);
string str2;
if (str1 != null)
str2 = string.Format((IFormatProvider) CultureInfo.InvariantCulture, "PASS ({0})", new object[1]
{
(object) str1
});
else
str2 = "FAIL";
Trace.WriteLine(string.Format((IFormatProvider) CultureInfo.InvariantCulture, "Getting \"{0}\" from {1}: {2}.", (object) settingName, (object) providerName, (object) str2));
return str1;
}
Trace.WriteLine 总是在不考虑调试或发布的情况下被调用。现在您可以简单地删除应该抑制所有消息的默认侦听器:
<system.diagnostics>
<trace>
<listeners>
<remove name="Default" />
</listeners>
</trace>
</system.diagnostics>
现在,如果您看一下,CloudConfigurationManager
它的作用并不大。如果这对你来说是个问题,你可以自己做一些事情,从这个开始:
if (RoleEnvironment.IsAvailable)
return RoleEnvironment.GetConfigurationSettingValue(setting);
else
return ConfigurationManager.AppSettings[setting];
注意:CloudConfigurationManager 的作用远不止于此,例如在没有程序集引用的情况下加载程序集。