簡體   English   中英

使連接字符串引用而不是硬編碼

[英]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=&quot;data source=SWDB10DSQL;initial catalog=BillingUI;integrated security=True;MultipleActiveResultSets=True;App=EntityFramework&quot;" 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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM