@@ -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