0

我通过别人有一个项目,有这行代码:连接字符串和配置管理

ConnectionStringSettings myConnectionStringSetting = ConfigurationManager.ConnectionStrings[0]; 

由于某种原因返回此:

ConfigurationManager.ConnectionStrings[0] is returning {data source=.\SQLEXPRESS;Integrated Security=SSPI;AttachDBFilename=|DataDirectory|aspnetdb.mdf;User Instance=true}    System.Configuration.ConnectionStringSettings 

我没有selexpress安装到我的知识和我的web.config指向我的服务器使用不同的连接字符串。我在哪里可以找到VS 2010中所有连接字符串的列表?

对整个解决方案做一个查找返回没有结果的sql express。

回答

3

只要尽你ConnectionsString前插入一个<清晰/>标签。

<connectionStrings> 
    <clear/> 
    <!--You connectionString go here--> 
</connectionStrings> 
+0

这是明确的吗?它会清除所有连接字符串,并使连接字符串[“0”]成为清除后的唯一一个? – cdub

+0

@chris clear标签清除默认的connectionString,它是:source =。\ SQLEXPRESS; Integrated Security = SSPI; AttachDBFilename = | DataDirectory | aspnetdb.mdf; User Instance = true –

0

About Connection Strings and Configuration Files

从MSDN

About Connection Strings & the Web.config File

例子:

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"); 
     } 
+0

对不起,但您应该知道,如果链接包含OP的答案,则仅链接答案不被视为一个好答案。链接死了,你的答案对未来的读者变得毫无用处。尝试详细说明或仅写评论。 – Steve

+0

问题是我调试时有一个SQLEXPRESS连接字符串,但它在解决方案或web.config中没有出现。 web.config是正确的。 – cdub

+0

使用名称作为密钥访问它非常漂亮: ConnectionStringSettings connectionString = ConfigurationManager.ConnectionStrings [name]; 你也可以看看这个问题[链接](http://stackoverflow.com/questions/3781928/configurationmanager-keeps-getting-machine-config-connection-string) –