Но когда мне нужно что-то как Singleton, я часто заканчиваю тем, что использовал Счетчик Schwarz для инстанцирования ее.
Каждый домен приложения имеет / может иметь свой собственный файл конфигурации. Домен приложения по умолчанию, созданный хостом CLR, использует имя_программы.exe.config; если вы хотите предоставить свой собственный файл конфигурации, создайте отдельный домен приложения. Пример:
// get the name of the assembly
string exeAssembly = Assembly.GetEntryAssembly().FullName;
// setup - there you put the path to the config file
AppDomainSetup setup = new AppDomainSetup();
setup.ApplicationBase = System.Environment.CurrentDirectory;
setup.ConfigurationFile = "<path to your config file>";
// create the app domain
AppDomain appDomain = AppDomain.CreateDomain("My AppDomain", null, setup);
// create proxy used to call the startup method
YourStartupClass proxy = (YourStartupClass)appDomain.CreateInstanceAndUnwrap(
exeAssembly, typeof(YourStartupClass).FullName);
// call the startup method - something like alternative main()
proxy.StartupMethod();
// in the end, unload the domain
AppDomain.Unload(appDomain);
Надеюсь, что это поможет.
Извините, если я неправильно понял ваш запрос, но могу вы не используете
ConfigurationManager.OpenExeConfiguration Method (String)
В зависимости от изменения, возможно ли, что вы можете использовать
Вы можете использовать постоянный подход для вызова OpenExeConfiguration
. Если вы буквально хотите переместить свой файл конфигурации, вам придется создать собственный домен приложения. В процессе настройки домена приложения у вас есть возможность указать, где находится файл конфигурации.
Кстати, файлы конфигурации .NET не подходят для конфигурации, по крайней мере, не тот вид, который пользователи могут изменять: они ' re не похожи на файлы INI или реестр. Если вам нужна гибкость в том, откуда берется ваша конфигурация, лучше хранить ее отдельно.
MSDN наверное, поможет ...
Элемент упрощает обслуживание компонентов сборки. Если один или несколько приложения используют сборку, имеющую файл конфигурации, находящийся в известное месторасположение, конфигурация файлы приложений, использующих сборка может использовать элемент к включить конфигурацию сборки файл, а не включать информация о конфигурации напрямую. Когда сборка компонента обслуживается, обновляя общие файл конфигурации предоставляет обновленные информация о конфигурации для всех applications that use the assembly