public static string ToXmlString() { CONFIG = CONFIG.Replace("{0}", ConnectionBuilder.ConnectionBuilder.GetDatabaseCxnString()); CONFIG = CONFIG.Replace("{1}", LogProperties.User); CONFIG = CONFIG.Replace("{2}", LogProperties.Source); CONFIG = CONFIG.Replace("{3}", LogProperties.Request); CONFIG = CONFIG.Replace("{4}", LogProperties.Response); CONFIG = CONFIG.Replace("{5}", LogProperties.Stacktrace); return(CONFIG); }
static int Main(string[] args) { arch = ConfigurationManager.AppSettings["ARCH"]; destPath = ConfigurationManager.AppSettings["DESTPATH"]; srcPath = ConfigurationManager.AppSettings["SRCPATH"]; // Output a single blank line for eligibility Console.WriteLine(); if (!processArgs(args)) { // Output a single blank line for eligibility Console.WriteLine(); printUsage(); return(1); } // Don't do any work if an "info" switch has been supplied if (!info) { if (string.IsNullOrEmpty(srcPath)) { Console.WriteLine("Error: SRCPATH is not configured in mkdisp.exe.config"); return(1); } if (!File.Exists(target)) { Console.WriteLine($"Error: Target file '{target}' does not exist."); return(1); } if (!force && File.Exists(name)) { Console.WriteLine($"Error: File '{name}' exists, use -f to overwrite file."); return(1); } var configFile = name + ".config"; if (!force && File.Exists(configFile)) { Console.WriteLine($"Error: Config file '{configFile}' exists, use -f to overwrite file."); return(1); } var srcFile = Path.Combine(srcPath, $"dispatcher_{mode}_{arch}.exe"); if (!File.Exists(srcFile)) { Console.WriteLine($"Error: Dispatcher binary '{srcFile}' does not exist."); return(1); } // Add configuration for extra arguments var sbea = new StringBuilder(); for (int i = 0; i < extraArgs.Length; i++) { sbea.AppendFormat(CONFIG_EXTRA_ARG, i, extraArgs[i]); } // Create configuration string var config = CONFIG .Replace("{PATH}", target) .Replace("{EXTRA_ARGS}", sbea.ToString()); Console.Write($"Copying '{srcFile}' to '{name}'... "); try { File.Copy(srcFile, name); Console.WriteLine("OK!"); } catch (Exception x) { Console.WriteLine($"Failed!\nError: {x.GetType().Name}: {x.Message}"); return(1); } Console.Write($"Writing config file '{configFile}'..."); try { using (var fs = new FileStream(configFile, FileMode.Create)) using (var sw = new StreamWriter(fs, new UTF8Encoding(false))) { sw.Write(config); Console.WriteLine("OK!"); } } catch (Exception x) { Console.WriteLine($"Failed!\nError: {x.GetType().Name}: {x.Message}"); return(1); } } return(0); }