Example #1
0
        /// <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"));
 }