Читать строку подключения из web.config - PullRequest
1 голос
/ 07 декабря 2011

Служба WCF на IIS. У меня проблема с чтением строки подключения из файла web.config. моя строка подключения выглядит так:

    <connectionStrings>
  <add 
    name="ABC" 
    connectionString="DEF"
    providerName="GGG"
  />
</connectionStrings>

Мой код в Global.asax.cs:

protected void Application_Start(object sender, EventArgs e)
        {                    

           cons_Webdata =  WebConfigurationManager.ConnectionStrings["ABC"].ConnectionString;

        }

У меня сообщение об ошибке в "cons_Webdata = .......":

Ссылка на объект не установлена ​​для экземпляра объекта.

Что не так? Спасибо.

Ответы [ 2 ]

3 голосов
/ 07 декабря 2011

Попробуйте использовать ConfigurationManager вместо WebConfigurationManager

protected void Application_Start(object sender, EventArgs e)
{                    
    cons_Webdata =  ConfigurationManager.ConnectionStrings["ABC"].ConnectionString;
}

В противном случае используйте пример кода из http://msdn.microsoft.com/en-us/library/ms178411.aspx

        System.Configuration.Configuration rootWebConfig =
            System.Web.Configuration.WebConfigurationManager.OpenWebConfiguration("/MyWebSiteRoot");
        System.Configuration.ConnectionStringSettings connString;
        if (rootWebConfig.ConnectionStrings.ConnectionStrings.Count > 0)
        {
            connString =
                rootWebConfig.ConnectionStrings.ConnectionStrings["NorthwindConnectionString"];
            if (connString != null)
                Console.WriteLine("Northwind connection string = \"{0}\"",
                    connString.ConnectionString);
            else
                Console.WriteLine("No Northwind connection string");
        }
1 голос
/ 07 декабря 2011

Узнайте, как использовать WebConfigurationManager в веб-приложении здесь .Вам необходимо прочитать строки подключения раздела из файла конфигурации, а затем использовать их, как показано ниже:

           // Get the connectionStrings section.
            ConnectionStringsSection connectionStringsSection =
                WebConfigurationManager.GetSection("connectionStrings")
                as ConnectionStringsSection;

            // Get the connectionStrings key,value pairs collection.
            ConnectionStringSettingsCollection connectionStrings =
                connectionStringsSection.ConnectionStrings;

            // Get the collection enumerator.
            IEnumerator connectionStringsEnum =
                connectionStrings.GetEnumerator();

            // Loop through the collection and 
            // display the connectionStrings key, value pairs.
            int i = 0;
            Console.WriteLine("[Display the connectionStrings]");
            while (connectionStringsEnum.MoveNext())
            {
                string name = connectionStrings[i].Name;
                Console.WriteLine("Name: {0} Value: {1}",
                name, connectionStrings[name]);
                i += 1;
            }
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...