diff --git a/WelsonJS.Toolkit/WelsonJS.Launcher/MainForm.cs b/WelsonJS.Toolkit/WelsonJS.Launcher/MainForm.cs
index bd94471..420c8b8 100644
--- a/WelsonJS.Toolkit/WelsonJS.Launcher/MainForm.cs
+++ b/WelsonJS.Toolkit/WelsonJS.Launcher/MainForm.cs
@@ -195,7 +195,7 @@ namespace WelsonJS.Launcher
private void linkLabel1_LinkClicked(object sender, LinkLabelLinkClickedEventArgs e)
{
- Program.OpenWebBrowser(Properties.Resources.RepositoryUrl);
+ Program.OpenWebBrowser(Program.GetAppConfig("RepositoryUrl"));
}
private void userdefinedVariablesToolStripMenuItem_Click(object sender, EventArgs e)
@@ -245,7 +245,7 @@ namespace WelsonJS.Launcher
{
if (Program.resourceServer == null)
{
- Program.resourceServer = new ResourceServer(Properties.Resources.ResourceServerPrefix, "editor.html");
+ Program.resourceServer = new ResourceServer(Program.GetAppConfig("ResourceServerPrefix"), "editor.html");
}
if (!Program.resourceServer.IsRunning())
@@ -273,7 +273,7 @@ namespace WelsonJS.Launcher
private void openCopilotToolStripMenuItem_Click(object sender, EventArgs e)
{
- Program.OpenWebBrowser(Properties.Resources.CopilotUrl);
+ Program.OpenWebBrowser(Program.GetAppConfig("CopilotUrl"));
}
}
}
diff --git a/WelsonJS.Toolkit/WelsonJS.Launcher/Program.cs b/WelsonJS.Toolkit/WelsonJS.Launcher/Program.cs
index a7248c1..899200f 100644
--- a/WelsonJS.Toolkit/WelsonJS.Launcher/Program.cs
+++ b/WelsonJS.Toolkit/WelsonJS.Launcher/Program.cs
@@ -4,6 +4,7 @@ using System.IO;
using System.Linq;
using System.Threading;
using System.Windows.Forms;
+using System.Configuration;
using WelsonJS.Launcher.Tools;
namespace WelsonJS.Launcher
@@ -156,5 +157,22 @@ namespace WelsonJS.Launcher
UseShellExecute = true
});
}
+
+ public static string GetAppConfig(string key)
+ {
+ string value = ConfigurationManager.AppSettings[key];
+ if (!string.IsNullOrEmpty(value))
+ {
+ return value;
+ }
+
+ value = Properties.Resources.ResourceManager.GetString(key);
+ if (!string.IsNullOrEmpty(value))
+ {
+ return value;
+ }
+
+ return null;
+ }
}
}
diff --git a/WelsonJS.Toolkit/WelsonJS.Launcher/Tools/ResourceServer.cs b/WelsonJS.Toolkit/WelsonJS.Launcher/Tools/ResourceServer.cs
index 2f76b0e..8f69700 100644
--- a/WelsonJS.Toolkit/WelsonJS.Launcher/Tools/ResourceServer.cs
+++ b/WelsonJS.Toolkit/WelsonJS.Launcher/Tools/ResourceServer.cs
@@ -133,6 +133,14 @@ namespace WelsonJS.Launcher.Tools
return;
}
+ // Serve a value of App Config request
+ const string configPrefix = "config/";
+ if (path.StartsWith(configPrefix, StringComparison.OrdinalIgnoreCase))
+ {
+ ServeConfigRequest(context, path.Substring(configPrefix.Length));
+ return;
+ }
+
// Serve a resource
ServeResource(context, GetResource(_resourceName), "text/html");
}
@@ -272,6 +280,18 @@ namespace WelsonJS.Launcher.Tools
ServeResource(context);
}
+ public void ServeConfigRequest(HttpListenerContext context, string key)
+ {
+ string value = Program.GetAppConfig(key);
+ if (!String.IsNullOrEmpty(value))
+ {
+ ServeResource(context, value, "text/plain", 200);
+ return;
+ }
+
+ ServeResource(context);
+ }
+
private void ServeResource(HttpListenerContext context)
{
ServeResource(context, "Not Found", "application/xml", 404);
diff --git a/WelsonJS.Toolkit/WelsonJS.Launcher/WelsonJS.Launcher.csproj b/WelsonJS.Toolkit/WelsonJS.Launcher/WelsonJS.Launcher.csproj
index 3525d39..31c2e85 100644
--- a/WelsonJS.Toolkit/WelsonJS.Launcher/WelsonJS.Launcher.csproj
+++ b/WelsonJS.Toolkit/WelsonJS.Launcher/WelsonJS.Launcher.csproj
@@ -57,6 +57,7 @@
+
diff --git a/WelsonJS.Toolkit/WelsonJS.Launcher/app.config b/WelsonJS.Toolkit/WelsonJS.Launcher/app.config
index 2a2d449..e4e97f2 100644
--- a/WelsonJS.Toolkit/WelsonJS.Launcher/app.config
+++ b/WelsonJS.Toolkit/WelsonJS.Launcher/app.config
@@ -1,5 +1,12 @@
+
+
+
+
+
+
+