diff --git a/GC-local-server-rewrite/GC-local-server-rewrite.csproj b/GC-local-server-rewrite/GC-local-server-rewrite.csproj
index 74f70ca..732b2b2 100644
--- a/GC-local-server-rewrite/GC-local-server-rewrite.csproj
+++ b/GC-local-server-rewrite/GC-local-server-rewrite.csproj
@@ -37,7 +37,7 @@
PreserveNewest
-
+
PreserveNewest
diff --git a/GC-local-server-rewrite/App.config b/GC-local-server-rewrite/GC-local-server-rewrite.exe.config
similarity index 100%
rename from GC-local-server-rewrite/App.config
rename to GC-local-server-rewrite/GC-local-server-rewrite.exe.config
diff --git a/GC-local-server-rewrite/Program.cs b/GC-local-server-rewrite/Program.cs
index ed3fae3..b1b1beb 100644
--- a/GC-local-server-rewrite/Program.cs
+++ b/GC-local-server-rewrite/Program.cs
@@ -98,7 +98,8 @@ internal class Program
var paths = $"Paths: {nameof(PathHelper.HtmlRootPath)}: {PathHelper.HtmlRootPath}\n" +
$"{nameof(PathHelper.LogRootPath)}: {PathHelper.LogRootPath}\n" +
- $"{nameof(PathHelper.DataBaseRootPath)}: {PathHelper.DataBaseRootPath}\n";
+ $"{nameof(PathHelper.DataBaseRootPath)}: {PathHelper.DataBaseRootPath}\n" +
+ $"{nameof(PathHelper.ConfigFilePath)}: {PathHelper.ConfigFilePath}\n";
paths.Info();
}
diff --git a/GC-local-server-rewrite/common/Configs.cs b/GC-local-server-rewrite/common/Configs.cs
index 24a4353..c233097 100644
--- a/GC-local-server-rewrite/common/Configs.cs
+++ b/GC-local-server-rewrite/common/Configs.cs
@@ -1,4 +1,6 @@
using System.Configuration;
+using Swan;
+using Swan.Logging;
namespace GCLocalServerRewrite.common;
@@ -18,6 +20,8 @@ public static class Configs
public const string STATIC_FOLDER = "static";
+ public const string CONFIG_FILE_NAME = "App.config";
+
public const string CARD_SERVICE_BASE_ROUTE = "/service/card";
public const string UPLOAD_SERVICE_BASE_ROUTE = "/service/upload";
@@ -115,26 +119,64 @@ public static class Configs
public const string SESSION_XPATH = $"{ROOT_XPATH}/session";
public const string RANK_STATUS_XPATH = $"{ROOT_XPATH}/ranking_status";
-
+
public const int GC4_EX_GID = 303801;
+
+ public static readonly int AVATAR_COUNT;
- public static readonly int AVATAR_COUNT = int.Parse(
- ConfigurationManager.AppSettings.Get("AvatarCount") ?? "294");
+ public static readonly int NAVIGATOR_COUNT;
- public static readonly int NAVIGATOR_COUNT = int.Parse(
- ConfigurationManager.AppSettings.Get("NavigatorCount") ?? "71");
+ public static readonly int ITEM_COUNT;
- public static readonly int ITEM_COUNT = int.Parse(
- ConfigurationManager.AppSettings.Get("ItemCount") ?? "21");
+ public static readonly int TITLE_COUNT;
- public static readonly int TITLE_COUNT = int.Parse(
- ConfigurationManager.AppSettings.Get("TitleCount") ?? "4942");
+ public static readonly int SKIN_COUNT;
- public static readonly int SKIN_COUNT = int.Parse(
- ConfigurationManager.AppSettings.Get("SkinCount") ?? "21");
+ public static readonly int SE_COUNT;
- public static readonly int SE_COUNT = int.Parse(
- ConfigurationManager.AppSettings.Get("SeCount") ?? "25");
+ public static readonly string MUSIC_DB_NAME;
- public static readonly string MUSIC_DB_NAME = ConfigurationManager.AppSettings.Get("MusicDBName") ?? "music.db3";
+ private static readonly Configuration CONFIG = ConfigurationManager.OpenExeConfiguration(PathHelper.ConfigFilePath);
+
+ private const string AVATAR_COUNT_CONFIG_NAME = "AvatarCount";
+ private const string NAVIGATOR_COUNT_CONFIG_NAME = "NavigatorCount";
+ private const string ITEM_COUNT_CONFIG_NAME = "ItemCount";
+ private const string TITLE_COUNT_CONFIG_NAME = "TitleCount";
+ private const string SKIN_COUNT_CONFIG_NAME = "SkinCount";
+ private const string SE_COUNT_CONFIG_NAME = "SeCount";
+ private const string MUSIC_DB_CONFIG_NAME = "MusicDBName";
+
+ private const int AVATAR_DEFAULT_COUNT = 294;
+ private const int NAVIGATOR_DEFAULT_COUNT = 71;
+ private const int ITEM_DEFAULT_COUNT = 21;
+ private const int TITLE_DEFAULT_COUNT = 4942;
+ private const int SKIN_DEFAULT_COUNT = 21;
+ private const int SE_DEFAULT_COUNT = 25;
+ private const string MUSIC_DB_DEFAULT_NAME = "music.db3";
+
+
+ static Configs()
+ {
+ void GetIntValueFromConfig(string configFieldName, int defaultValue, out int field )
+ {
+ var success = int.TryParse(CONFIG.AppSettings.Settings[configFieldName].Value, out var count);
+
+ field = success ? count:defaultValue;
+ }
+
+ GetIntValueFromConfig(AVATAR_COUNT_CONFIG_NAME, AVATAR_DEFAULT_COUNT, out AVATAR_COUNT);
+ GetIntValueFromConfig(NAVIGATOR_COUNT_CONFIG_NAME, NAVIGATOR_DEFAULT_COUNT, out NAVIGATOR_COUNT);
+ GetIntValueFromConfig(ITEM_COUNT_CONFIG_NAME, ITEM_DEFAULT_COUNT, out ITEM_COUNT);
+ GetIntValueFromConfig(TITLE_COUNT_CONFIG_NAME, TITLE_DEFAULT_COUNT, out TITLE_COUNT);
+ GetIntValueFromConfig(SKIN_COUNT_CONFIG_NAME, SKIN_DEFAULT_COUNT, out SKIN_COUNT);
+ GetIntValueFromConfig(SE_COUNT_CONFIG_NAME, SE_DEFAULT_COUNT, out SE_COUNT);
+
+ MUSIC_DB_NAME = CONFIG.AppSettings.Settings[MUSIC_DB_CONFIG_NAME].Value;
+
+ if (MUSIC_DB_NAME == string.Empty)
+ {
+ MUSIC_DB_NAME = MUSIC_DB_DEFAULT_NAME;
+ }
+
+ }
}
\ No newline at end of file
diff --git a/GC-local-server-rewrite/common/PathHelper.cs b/GC-local-server-rewrite/common/PathHelper.cs
index b9f9399..8e2361b 100644
--- a/GC-local-server-rewrite/common/PathHelper.cs
+++ b/GC-local-server-rewrite/common/PathHelper.cs
@@ -16,6 +16,8 @@ public static class PathHelper
public static string LogRootPath => Path.Combine(BasePath, Configs.LOG_FOLDER, Configs.LOG_BASE_NAME);
+ public static string ConfigFilePath => Path.Combine(BasePath, Environment.ProcessPath ?? string.Empty);
+
private static string BasePath
{
get