2012-06-15 2 views
1

Как я могу прочитать строки подключения из настраиваемого файла конфигурации (скажем, abc.config) с помощью WebConfigurationManager из кода C# asp.net?читайте собственный файл конфигурации в asp.net

Configuration conf = WebConfigurationManager.OpenWebConfiguration("~/abc.config"); 

Это не работает.

+0

Что вы имеете в виду, кажется, не работает? Вы получаете исключение? Разве это не загружено? Что такое bahvior? –

+0

Проверьте свой 'config путь' правильно. Это должно быть просто. Является ли 'conf' объектом null? –

+0

Он читает некоторые SQLEXPRESS в качестве источника данных (другая строка соединения), а не из abc.config – Sam

ответ

1

Я не думаю, что вы можете прочитать его с помощью webconfigurationmanager. Вы прочитали, как и любой файл XML, как это XML-файл

public static string GetSingleValue(string strXPathExpression, string strAttributeName) 
     { 
      XmlNode node = GetNode(strXPathExpression); 
      if (node != null) 
      { 
       XmlAttribute attribute = node.Attributes[strAttributeName]; 
       if (attribute != null) 
        return attribute.Value; 
      } 

      return string.Empty; 


     } 
+0

Насколько это точно? – Sam

+0

ДА, По моим знаниям – Rab

3

вы можете использовать этот трюк: его мой заказ, используя ме- webapp.config от веб-сервера. прочитать все настройки приложения и вернуться;

//Read WebAppConfiguration 
public static AppSettingsSection ReadAllWebappConfig() 
{ 
    string physicalWebAppPath = ""; 
    AppSettingsSection appSettings; 

    ExeConfigurationFileMap fileMap = new ExeConfigurationFileMap(); 
    physicalWebAppPath = System.Web.Hosting.HostingEnvironment.MapPath("~/webapp.config"); 

    if (System.IO.File.Exists(physicalWebAppPath)) 
    { 
     fileMap.ExeConfigFilename = physicalWebAppPath; 
     Configuration config = ConfigurationManager.OpenMappedExeConfiguration(fileMap, ConfigurationUserLevel.None); 
     appSettings = (AppSettingsSection)config.GetSection("appSettings"); 
    } 
    else 
     appSettings = null; 

    return appSettings; 
} 

webapp.config образец:

<configuration> 
    <appSettings> 
    <add key="WebApp-FixedTopMenu" value="true"/> 
    <add key="WebApp-FixedTopMenuThickness" value="true"/> 
    </appSettings> 
</configuration> 
+0

Что делать, если у меня нет узла appSettings? – Shesha

+0

Весь элемент XML и элемент элемента, его стандартный XML, вам нужны элементы root (configuration) и Item (appSettings) и ваши свойства желания (например, «WebApp-FixedTopMenu»). – mRizvandi

Смежные вопросы