/// <summary> /// Ensures valid /home/site/deployments/settings.xml is loaded, deletes /// corrupt settings.xml file /// </summary> /// <param name="environment"> /// IEnvironment object that maintains paths used by kudu /// </param> internal static void EnsureValidDeploymentXmlSettings(IEnvironment environment) { var path = GetSettingsPath(environment); if (!FileSystemHelpers.FileExists(path)) { return; } try { var settings = new DeploymentSettingsManager(new XmlSettings.Settings(path)); settings.GetValue(SettingsKeys.TraceLevel); } catch (Exception ex) { DateTime lastWriteTimeUtc = DateTime.MinValue; OperationManager.SafeExecute(() => lastWriteTimeUtc = File.GetLastWriteTimeUtc(path)); // trace initialization error KuduEventSource.Log.KuduException( ServerConfiguration.GetApplicationName(), "Startup.cs", string.Empty, string.Empty, string.Format("Invalid '{0}' is detected and deleted. Last updated time was {1}.", path, lastWriteTimeUtc), ex.ToString()); File.Delete(path); } }
public void DeploymentSettingsNullWhenKeyDoesNotExist() { Assert.Equal(null, deploymentSettingsManager.GetValue("key8")); }