Skip to content
This repository was archived by the owner on Nov 27, 2024. It is now read-only.

Commit 8927bb4

Browse files
committed
Custom base directory setting
1 parent f1b6c58 commit 8927bb4

File tree

1 file changed

+38
-2
lines changed

1 file changed

+38
-2
lines changed

OnnxStack.Core/Config/ConfigManager.cs

Lines changed: 38 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -9,6 +9,19 @@ namespace OnnxStack.Core.Config
99
{
1010
public class ConfigManager
1111
{
12+
private static string _configurationBaseDirectory = AppDomain.CurrentDomain.BaseDirectory;
13+
14+
15+
/// <summary>
16+
/// Sets the configuration location.
17+
/// </summary>
18+
/// <param name="baseDirectory">The base directory.</param>
19+
public static void SetConfiguration(string baseDirectory)
20+
{
21+
_configurationBaseDirectory = baseDirectory;
22+
}
23+
24+
1225
/// <summary>
1326
/// Loads the OnnxStackConfig configuration object from appsetting.json
1427
/// </summary>
@@ -88,19 +101,37 @@ private static JsonSerializerOptions GetSerializerOptions(params JsonConverter[]
88101
return serializerOptions;
89102
}
90103

104+
105+
/// <summary>
106+
/// Saves the configuration.
107+
/// </summary>
108+
/// <param name="configuration">The configuration.</param>
91109
public static void SaveConfiguration(OnnxStackConfig configuration)
92110
{
93111
SaveConfiguration<OnnxStackConfig>(configuration);
94112
}
95113

114+
115+
/// <summary>
116+
/// Saves the configuration.
117+
/// </summary>
118+
/// <typeparam name="T"></typeparam>
119+
/// <param name="configuration">The configuration.</param>
96120
public static void SaveConfiguration<T>(T configuration) where T : class, IConfigSection
97121
{
98122
SaveConfiguration<T>(typeof(T).Name, configuration);
99123
}
100124

125+
126+
/// <summary>
127+
/// Saves the configuration.
128+
/// </summary>
129+
/// <typeparam name="T"></typeparam>
130+
/// <param name="sectionName">Name of the section.</param>
131+
/// <param name="configuration">The configuration.</param>
101132
public static void SaveConfiguration<T>(string sectionName, T configuration) where T : class, IConfigSection
102133
{
103-
134+
104135
string appsettingStreamFile = GetAppSettingsFile();
105136

106137
// Read In File
@@ -118,9 +149,14 @@ public static void SaveConfiguration<T>(string sectionName, T configuration) whe
118149
JsonSerializer.Serialize(appsettingWriteStream, appSettings, serializerOptions);
119150
}
120151

152+
153+
/// <summary>
154+
/// Gets the application settings file.
155+
/// </summary>
156+
/// <returns></returns>
121157
private static string GetAppSettingsFile()
122158
{
123-
return Path.Combine(AppDomain.CurrentDomain.BaseDirectory, "appsettings.json");
159+
return Path.Combine(_configurationBaseDirectory, "appsettings.json");
124160
}
125161
}
126162
}

0 commit comments

Comments
 (0)