2011-01-13 43 views

回答

2

尝试代码波纹管或问题LINQ查询发现两者的configs的恭维(差异)。下面yeilds true,如果在索引0连接字符串从机器的配置它也索引0处的连接字符串进行比较,否则未来产生false:

System.Configuration.ConfigurationManager.ConnectionStrings[0].Equals 
(System.Configuration.ConfigurationManager.OpenMachineConfiguration() 
.ConnectionStrings.ConnectionStrings[0]) 
0

在web.config每个配置也可以把在machine.config中。 您可以想到Machine.Config是基类,Web.Config是子类。

所以如果重写Web.Config中的任何设置,你基本上是重写计算机配置设置(或要求应用程序使用的web.config设置)

所以我觉得,如果你写的连接蜇在网站.CONFIG,然后从你的应用程序时,你遍历的ConnectionStrings

ConfigurationManager.ConnectionStrings 

您将只能够访问你写在web.config中的连接字符串。

请在web.config connectionstring部分尝试<clear/>。所以我认为这将清除Machine.config连接字符串。

+0

庵。什么?第一种说法是有道理的,但其余的则没有。 – 2011-01-13 15:43:41

+0

编辑我的答案。如果我的理解错误,请纠正。 – KBBWrite 2011-01-13 16:01:24

+0

这是我已经试图做的。 ConfigurationManager.ConnectionStrings集合包含web.config和machine.config中的连接字符串。 – Jeff 2011-01-13 16:08:18

1

你试过

Configuration c = System.Web.Configuration.WebConfigurationManager.OpenWebConfiguration("/"); 
1

从MSDN,也看System.Web.Configuration命名空间。

How to: Read Connection strings from 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

为了得到localweb.config第一ConnectionString中,使用它:

var ms = System.Configuration.ConfigurationManager.OpenMachineConfiguration(); 
if (ConfigurationManager.ConnectionStrings.Count > ms.ConnectionStrings.ConnectionStrings.Count) 
      return ConfigurationManager.ConnectionStrings[ms.ConnectionStrings.ConnectionStrings.Count].ConnectionString; 
相关问题