Получить имя файла текущего файла конфигурации - PullRequest
34 голосов
/ 04 мая 2011

Я думаю, это будет просто, но я не могу найти ответ.

Я использую удаленное взаимодействие и хочу сохранить RemotingConfiguration в app.config. Когда я звоню RemotingConfiguration.Configure, я должен указать имя файла, в котором находится удаленная информация. Итак ... Мне нужно знать имя текущего файла конфигурации.

В настоящее время я использую это:

System.Reflection.Assembly.GetExecutingAssembly().Location + ".config"

Но это работает только для приложений Windows, но не для веб-приложений.

Нет ли класса, который может предоставить мне имя текущего файла конфигурации?

Ответы [ 2 ]

62 голосов
/ 04 мая 2011

Попробуйте AppDomain.CurrentDomain.SetupInformation.ConfigurationFile

http://msdn.microsoft.com/en-us/library/system.appdomainsetup.configurationfile.aspx

8 голосов
/ 04 мая 2011
using System.Configuration;
Configuration config = ConfigurationManager.OpenExeConfiguration(ConfigurationUserLevel.None);
Console.WriteLine(config.FilePath);

В нечетном случае, когда у вас есть отдельные файлы конфигурации для определенных локальных или перемещаемых пользователей, вы также можете найти их, используя правильный ConfigurationUserLevel. Для веб-приложений используйте

WebConfigurationManager.OpenWebConfiguration("~");
...