2012-04-30 38 views
8

Cách lấy tất cả các tên của chuỗi kết nối từ web.config qua mã trong C#?Nhận nhiều chuỗi kết nối từ web.config

Tôi cố gắng này:

System.Configuration.Configuration webConfig = System.Web.Configuration.WebConfigurationManager.OpenWebConfiguration("~"); 
ConnectionStringsSection x = webConfig.ConnectionStrings; 
string here = x.SectionInformation.Name; 

Trả lời

22
foreach (ConnectionStringSettings c in System.Configuration.ConfigurationManager.ConnectionStrings) 
    { 
     //use c.Name 
    } 
+0

Bạn có thể đọc thêm về 'Hệ thống .Configuration.ConfigurationManager.ConnectionStrings' tại [MSDN] (http://msdn.microsoft.com/en-us/library/system.configuration.connectionstringsettingscollection.aspx). –

+0

Nhận chuỗi kết nối *** *** từ *** machine.config ***. Không chỉ *** web.config ***. – Kiquenet

0

Không cụ thể để Strings Connection, nhưng có thể hữu ích không ít.

System.Web.HttpContext ctx = System.Web.HttpContext.Current; 

Configuration config; 

if (ctx != null) 
    config = WebConfigurationManager.OpenWebConfiguration(ctx.Request.ApplicationPath); 
0

Đây là cách sử dụng LINQ để có được danh sách tên chuỗi kết nối:

List<string> names = ConfigurationManager.ConnectionStrings 
    .Cast<ConnectionStringSettings>() 
    .Select(v => v.Name) 
    .ToList(); 

Hoặc bạn có thể xây dựng một từ điển của nó:

Dictionary<string/*name*/, string/*connectionString*/> keyValue = ConfigurationManager.ConnectionStrings 
    .Cast<ConnectionStringSettings>() 
    .ToDictionary(v => v.Name, v => v.ConnectionString); 
Các vấn đề liên quan