#xml #class #config
#xml #класс #конфигурация
Вопрос:
Возможно ли загрузить файл конфигурации, содержащий соединение с сервером, используя конструктор класса и сохраняя его в общедоступной статической строке. Например,
Config.xml
<Config>
<ConnString> "server=...; user id =...; user pass=...; database=...";</ConnString>
</Config>
Код:
namespace Connection.Settings
{
public class Settings
{
public Settings()
{
XmlDocument cfg = new XmlDocument();
cfg.Load("Config.xml");
connection = cfg.SelectSingleNode("/Config/ConnString").InnerText;
}
public static string connection;
public string Connection
{
get
{
return connection;
}
}
public static string ConnectionString = connection;
}
}
Причина этого заключается в том, что соединение может быть общим для многих приложений, и все же я мог бы легко изменить соединение в XML-файле без необходимости прикасаться к приложениям.
Комментарии:
1. Я настоятельно рекомендую вам узнать, как работает конфигурация в .NET.
Ответ №1:
Да, это возможно. AppConfig, вероятно, является наиболее распространенным местом для хранения строк подключения, но это не обязательно. Пока все ваши приложения могут получить доступ к файлу, в котором вы хотите его сохранить, он может использоваться в качестве общего источника для различных настроек конфигурации.
Я не пробовал ваш пример кода, но что-то вроде:
var conf = XDocument.Load(filenamehere.XML);
var connection = (from c in conf.Decendents("Config")
select c.Element("ConnString")).SingleOrDefault();
следует восстановить настройку из вашего XML.