简体   繁体   English

使用c#无法访问app.config中的连接字符串

[英]Cannot access connection string in app.config by using c#

App.config file configuration 1 App.config文件配置1

        <?xml version="1.0" encoding="utf-8" ?>
        <configuration>
          <connectionStrings>
            <add name="MyDBConnectionString" connectionString="Data Source=223.29.207.133;
                 Initial Catalog=MBV5DBLive;User ID=smsuser;Password=sms;IntegratedSecurity=true"
                 providerName="System.Data.SqlClient" />
          </connectionStrings>
        </configuration>

App.config file configuration 2 App.config文件配置2

<configuration>
  <connectionStrings>
    <add name="MyDBConnectionString" connectionString="Data Source=localhost;
         Initial Catalog=University;Integrated Security=True" providerName="System.Data.SqlClient"/>
  </connectionStrings>
</configuration>


C# code



 try
                    {
                        String constring = ConfigurationManager.ConnectionStrings["MyDBConnectionString"].ConnectionString;

                        using (SqlConnection con = new SqlConnection(constring))
                        {
                        }
                    }
                    catch (Exception ex)

even if i debug when it comes to configuration manager code will jump to catch block and it will show "Object reference not set to an instance of an object." 即使我调试配置管理器代码将跳转到catch块,它将显示“对象引用未设置为对象的实例”。 What is the issue with above both configuration files? 以上两个配置文件有什么问题?

Your connection string name seems like c_str not MyDBConnectionString . 您的连接字符串名称似乎是c_str而不是MyDBConnectionString

And since you don't have any MyDBConnectionString in your web config, your ConfigurationManager.ConnectionStrings["MyDBConnectionString"] returns null and that's why you get NullReferenceException when you try to access ConnectionString property of a null reference. 由于您的Web配置中没有任何 MyDBConnectionString ,因此ConfigurationManager.ConnectionStrings["MyDBConnectionString"]返回null ,这就是当您尝试访问null引用的ConnectionString属性时获得NullReferenceException的原因。

If everything is okey other than that, this should work; 如果除此之外的一切都很好,这应该有效;

var constring = ConfigurationManager.ConnectionStrings["c_str"].ConnectionString;
using (var con = new SqlConnection(constring))
{
}

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM