DAL是通過代碼生成工具自動生成的XSD強類型dataset怎麼樣把DAL和BLL都獨立成項目。

想把DAL和BLL從項目裏移出來做個類庫。把DAL和BLL都獨立成項目,以便同一方案可以共用。
問題是 DAL用的是通過代碼生成工具自動化生成的可視化的XSD強類型dataset,數據連接字符串是web.config裏的。移出去後哪裏可以改數據連接。


解決方法

一般情況下,如果使用類型化數據集,在網站項目中,用到的連接字符串是保存在webconfig中的

但是如果作爲單獨項目的話

卻是存儲在Properties目錄的Settings.settings內部的

展開Settings.settings可以發現有一個Settings.Designer.cs文件

格式如下

C# code
[global::System.Configuration.ApplicationScopedSettingAttribute()] [global::System.Diagnostics.DebuggerNonUserCodeAttribute()] [global::System.Configuration.SpecialSettingAttribute(global::System.Configuration.SpecialSetting.ConnectionString)] [global::System.Configuration.DefaultSettingValueAttribute("Data Source=127.0.0.1;Initial Catalog=ZKBS;User ID=sa;pwd=123")] public string ZKBSConnectionString { get { return ((string)(this["ZKBSConnectionString"])); } }


要把強類型數據集作爲單獨的DAL,肯定連接字符串不能寫死在程序集內部啊,想繼續放到web.config中怎麼辦?

按照如下步驟:

1.在項目根目錄下,新建一個Settings.settings.cs,拷貝Settings.Designer.cs的內容進來,並保存

2.把相關連接字符串部分改爲如下這般

C# code
public string ZKBSConnectionString { get { //return ((string)(this["ZKBSConnectionString"])); return System.Configuration.ConfigurationManager.AppSettings["ZKBSConnectionString"]; } }



3.保存

4.把Properties目錄的Settings.settings直接設置爲"從項目中排除",不要刪除,後面還有用處

這樣,運行的時候就是從web.config中讀取連接字符串了

需要注意的問題:
在強類型數據集設計過程中,是需要改變xsd文件還有Settings.settings相關設置的
這個時候如果Settings.settings還是處於"從項目中排除"狀態的話,可能會出問題的...
所以需要將Settings.settings設置爲"包含在項目中"

另外在xsd文件中,也保存着連接字符串設置,不過是指向程序集相關屬性的,也就是我們上面改的地方,這裏如果沒有問題,最好不要手動改動,萬一錯了...(不過這個地方可能有挖掘的餘地)


總結:
開發DAL程序集過程中,因爲需要頻繁變動,所以可以不用管什麼連接字符串
發佈的時候,執行步驟1,2,3,4

如果以後又要改動,先把Settings.settings包含進來

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章