[英]Making connection string reference instead of hard coding
當前,我的應用程序已對連接字符串進行了硬編碼。
string connectionString2 = "Data Source=SWDB10DSQL;Initial Catalog=BillingUI;Integrated Security=True;MultipleActiveResultSets=True;Application Name=EntityFramework";
我正在嘗試更改它,所以我改為引用web.config文件中定義的連接字符串。 我已經嘗試過在下面找到一個解決方案,但是它不起作用(數據不再插入到我的表中)。 但是它會編譯。
ImportController.cs
string connectionString2 = System.Web.Configuration.WebConfigurationManager.ConnectionStrings["BillingUIEntities"].ConnectionString;
using (SqlConnection _con2 = new SqlConnection(connectionString2))
{
_con2.Open();
Web.config文件
<section name="entityFramework" type="System.Data.Entity.Internal.ConfigFile.EntityFrameworkSection, EntityFramework, Version=5.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" requirePermission="false" />
<add name="BillingUIEntities" connectionString="metadata=res://*/Models.Model2.csdl|res://*/Models.Model2.ssdl|res://*/Models.Model2.msl;provider=System.Data.SqlClient;provider connection string="data source=SWDB10DSQL;initial catalog=BillingUI;integrated security=True;MultipleActiveResultSets=True;App=EntityFramework"" providerName="System.Data.EntityClient" /></connectionStrings>
更新:我已經確定它是從Web.config獲取連接字符串,但是它包含了linq /我的sql連接似乎不需要控制器中的元數據。 我認為子字符串處理可以解決,但我認為這不是一種好方法,因為元數據可能會發生變化,導致字符串的長度變長或變短,這會導致我將連接字符串的無效區域變成子字符串。 有一個更好的方法嗎?
使用ConfigurationManager而不是WebConfgurationManager。
string connectionString2 = System.Configuration.ConfigurationManager.ConnectionStrings["BillingUIEntities"].ConnectionString;
:) 大衛
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.