ฉันจะอ่านสตริงการเชื่อมต่อจากweb.config
ไฟล์ไปยังคลาสพับลิกที่อยู่ในไลบรารีคลาสได้อย่างไร?
ฉันพยายามแล้ว:
WebConfigurationManager
ConfigurationManager
แต่คลาสเหล่านี้ไม่ได้รับการยอมรับในไลบรารีคลาสของฉัน
ฉันจะอ่านสตริงการเชื่อมต่อจากweb.config
ไฟล์ไปยังคลาสพับลิกที่อยู่ในไลบรารีคลาสได้อย่างไร?
ฉันพยายามแล้ว:
WebConfigurationManager
ConfigurationManager
แต่คลาสเหล่านี้ไม่ได้รับการยอมรับในไลบรารีคลาสของฉัน
คำตอบ:
เพิ่มSystem.Configuration
เป็นข้อมูลอ้างอิง
ด้วยเหตุผลที่แปลกประหลาดบางอย่างมันไม่รวมอยู่ในค่าเริ่มต้น
คุณต้องเพิ่มการอ้างอิงSystem.Configuration
และจากนั้นใช้:
System.Configuration.ConfigurationManager.
ConnectionStrings["connectionStringName"].ConnectionString;
ค#
// 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;
VB
' 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
เพิ่มSystem.Configuration
เป็นข้อมูลอ้างอิงแล้ว:
using System.Configuration;
...
string conn =
ConfigurationManager.ConnectionStrings["ConnectionName"].ConnectionString;
ฉันเดาว่าคุณต้องเพิ่มการอ้างอิงไปยังแอสเซมบลีSystem.Configurationถ้ายังไม่ได้เพิ่ม
นอกจากนี้คุณอาจต้องแทรกบรรทัดต่อไปนี้ที่ด้านบนของไฟล์รหัสของคุณ:
using System.Configuration;
ในVB
: สิ่งนี้ควรใช้งานได้
ConfigurationManager.ConnectionStrings("SQLServer").ConnectionString
ในC#
มันจะเป็น (ตามความคิดเห็นของ Ala)
ConfigurationManager.ConnectionStrings["SQLServer"].ConnectionString
ConfigurationManager.ConnectionStrings["SQLServer"].ConnectionString
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
นี้มีชื่อของการเชื่อมต่อ
คุณต้องเรียกใช้คลาสนี้ที่ด้านบนของหน้าหรือคลาสของคุณ:
using System.Configuration;
จากนั้นคุณสามารถใช้วิธีนี้ที่ส่งคืนสตริงการเชื่อมต่อให้พร้อมที่จะส่งผ่านไปยังวัตถุ sqlconnection เพื่อทำงานต่อไปของคุณดังนี้:
private string ReturnConnectionString()
{
// Put the name the Sqlconnection from WebConfig..
return ConfigurationManager.ConnectionStrings["DBWebConfigString"].ConnectionString;
}
เพียงเพื่อให้ความกระจ่างชัดเจนนี่คือค่าในเว็บ Config:
<add name="DBWebConfigString" connectionString="....." /> </connectionStrings>
using System.Configuration;
string conn = ConfigurationManager.ConnectionStrings["ConStringName"].ToString();
using System.Configuration;
string connString = ConfigurationManager.ConnectionStrings["ConStringName"].ToString();
จำไว้ว่าอย่าใช้ ConnectionStrings [ดัชนี] เพราะคุณอาจกำหนดค่าเครื่องและพกพาได้ทั่วโลก
ก่อนอื่นให้เพิ่มสิ่งนี้:
using System.Configuration;
ดูเหมือนว่าทุกคนจะแนะนำให้เพิ่ม
using System.Configuration;
อันไหนจริง.
แต่ฉันขอแนะนำให้คุณคิดถึงการติดตั้งส่วนขยาย Visual Studio ของ ReSharper หรือไม่
เมื่อติดตั้งแล้วแทนที่จะเห็นข้อผิดพลาดที่ไม่ได้กำหนดคลาสคุณจะเห็นพรอมต์ที่แจ้งให้คุณทราบว่ามีแอสเซมบลีใดอยู่ในนั้นโดยถามคุณว่าคุณต้องการให้เพิ่มคำสั่งที่จำเป็นโดยใช้หรือไม่
System.Configuration.dll
มันต้อง