Web.config से कनेक्शन स्ट्रिंग पढ़ें


253

मैं एक web.configफ़ाइल से एक कनेक्शन स्ट्रिंग को एक सार्वजनिक पुस्तकालय में एक क्लास लाइब्रेरी के भीतर कैसे पढ़ सकता हूं ?

मैंने कोशिश की:

WebConfigurationManager

ConfigurationManager

लेकिन मेरी कक्षा के पुस्तकालय के भीतर इन वर्गों को मान्यता नहीं है।

जवाबों:


177

जोड़ना System.Configurationएक संदर्भ के रूप में ।

कुछ विचित्र कारण से यह डिफ़ॉल्ट रूप से शामिल नहीं है।



66

सी#

// Add a using directive at the top of your code file    
using System.Configuration;

// Within the code body set your variable    
string cs = ConfigurationManager.ConnectionStrings["connectionStringName"].ConnectionString;

वीबी

' Add an Imports statement at the top of your code file    
Imports System.Configuration

' Within the code body set your variable    
Dim cs as String = ConfigurationManager.ConnectionStrings("connectionStringName").ConnectionString

3
"अपनी कोड फ़ाइल के शीर्ष पर एक संदर्भ जोड़ें" => यह एक निर्देश का उपयोग कर रहा है, संदर्भ नहीं!
14

25

System.Configurationसंदर्भ के रूप में जोड़ें :

 using System.Configuration;

 ...

 string conn = 
    ConfigurationManager.ConnectionStrings["ConnectionName"].ConnectionString;

19

मुझे लगता है कि अगर आपको पहले से नहीं जोड़ा गया है, तो आपको System.Configuration विधानसभा में एक संदर्भ जोड़ना होगा ।

इसके अलावा, आपको अपनी कोड फ़ाइल के शीर्ष पर निम्न पंक्ति सम्मिलित करने की आवश्यकता हो सकती है:

using System.Configuration;

टाइपो, यह System.Configuration का उपयोग करना चाहिए;
निक बीननेट

14

में VB: ये काम करना चाहिए

ConfigurationManager.ConnectionStrings("SQLServer").ConnectionString

इसमें C#(आल्हा की टिप्पणी के अनुसार)

ConfigurationManager.ConnectionStrings["SQLServer"].ConnectionString

उन कोष्ठकों को कोष्ठक बनाने की आवश्यकता है।
चार्ल्स बर्न्स

1
@ चार्ल्सबर्न्स, धन्यवाद, मैंने गलती से वीबी में लिखा, सी # में यकीन है कि यह होना चाहिए ConfigurationManager.ConnectionStrings["SQLServer"].ConnectionString
अला

आह, मुझे भी एहसास नहीं था कि वीबी था। मुझे लगा कि यह एक टाइपो है। एक तरह से मेरी गलती भी।
चार्ल्स बर्न्स

13
using System;
using System.Collections.Generic;
using System.Configuration;
using System.Data.SqlClient;
using System.Drawing;
using System.Linq;
using System.Web;
using System.Web.UI;
using System.Web.UI.DataVisualization.Charting;
using System.Web.UI.WebControls;  

सी#

string constring = ConfigurationManager.ConnectionStrings["ABCD"].ConnectionString;
                using (SqlConnection con = new SqlConnection(constring))

WEB.CONFIG फ़ाइल कोड को कम करें

<connectionStrings>
    <add name="ABCD" connectionString="Data Source=DESKTOP-SU3NKUU\MSSQLSERVER2016;Initial Catalog=TESTKISWRMIP;Integrated Security=True" providerName="System.Data.SqlClient"/>
  </connectionStrings>

उपरोक्त कोड में ABCD कनेक्शन नाम है


जोड़: इंडेक्सर के अलावा जो कनेक्शन स्ट्रिंग के नाम को स्वीकार करता है, उसे पूर्णांक सूचकांकों का उपयोग करने की भी अनुमति है - जो उपयोगी है यदि आप सभी कनेक्शन स्ट्रिंग्स को forलूप ( for (int i = 0; i < numOfConnections; i++) { var conn = ConfigurationManager.ConnectionStrings[i]; ... }) में पढ़ना चाहते हैं और उन्हें कॉम्बोक्स में चयन करने योग्य बनाते हैं। आपके साथ var numOfConnections = ConfigurationManager.ConnectionStrings.Count;यह निर्धारित कर सकते हैं कि कितने कनेक्शन तार मौजूद हैं। इस उदाहरण conn.Nameमें कनेक्शन का नाम है।
मैट

11

आपको अपने पृष्ठ या कक्षा के शीर्ष पर इस वर्ग को लागू करना होगा:

using System.Configuration;

तब आप इस विधि का उपयोग कर सकते हैं जो आपके काम को जारी रखने के लिए कनेक्शन स्ट्रिंग को sqlconnection ऑब्जेक्ट को पारित करने के लिए तैयार होने के लिए वापस कर देता है:

    private string ReturnConnectionString()
    {
       // Put the name the Sqlconnection from WebConfig..
        return ConfigurationManager.ConnectionStrings["DBWebConfigString"].ConnectionString;
    }

बस एक स्पष्ट स्पष्टीकरण बनाने के लिए यह वेब कॉन्फ़िगरेशन में मान है:

  <add name="DBWebConfigString" connectionString="....." />   </connectionStrings>

वेब प्रोजेक्ट में WebConfigurationManager System.eb.Configuration का उपयोग करना बेहतर है।
बीजेलाडु ४


4
using System.Configuration;


string connString = ConfigurationManager.ConnectionStrings["ConStringName"].ToString();

याद रखें कि आप ConnectStrings [अनुक्रमणिका] का उपयोग न करें क्योंकि आप ग्लोबल मशीन कॉन्फिगरेशन और पोर्टेबिलिटी का उपयोग कर सकते हैं



1

लगता है कि जोड़ने का सुझाव हर कोई दे रहा है

using System.Configuration;

कौन सा सही है।

लेकिन क्या मैं सुझाव दे सकता हूं कि आप ReSharper के Visual Studio एक्सटेंशन को स्थापित करने के बारे में सोचते हैं?

इसे स्थापित करने के बजाय, एक त्रुटि को देखने के बजाय कि एक वर्ग परिभाषित नहीं है, आप एक संकेत देखेंगे जो आपको बताता है कि यह किस विधानसभा में है, यह पूछते हुए कि क्या आप चाहते हैं कि यह कथन का उपयोग करके जोड़ना चाहिए।

हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.