如果我要從應用程序中的配置文件中讀取連接字符串,並且需要能夠在應用程序從dev移動到uat時更改連接字符串,那麼應該使用設置文件所有那些連接字符串被編譯到程序集中,我將從環境變爲環境,使得初始連接字符串變得過時?.Net和默認設置
這裏的最佳做法是什麼?
編輯:
我要求一般,因爲我有兩個web服務和應用程序SmartClient的。
如果我要從應用程序中的配置文件中讀取連接字符串,並且需要能夠在應用程序從dev移動到uat時更改連接字符串,那麼應該使用設置文件所有那些連接字符串被編譯到程序集中,我將從環境變爲環境,使得初始連接字符串變得過時?.Net和默認設置
這裏的最佳做法是什麼?
編輯:
我要求一般,因爲我有兩個web服務和應用程序SmartClient的。
如果您正在進行網絡開發,您希望將App.config xml文件用於桌面應用程序或web.config。請參閱 「ConnectionStrings」
我通常把連接字符串到外部配置文件,我是從部署中排除: 在web.config中:
<connectionStrings configSource="connections.config"></connectionStrings>
connections.config:
<?xml version="1.0"?>
<connectionStrings>
<add name="connectionName" connectionString="[connection string goes here]"/>
</connectionStrings>
[更新]這假設你正在建立一個網站;否則它當然是「App.config」,而不是「web.config」
看起來你的鍵盤上沒有點('。')按鈕。訪問該商店購買一個新的。
我不確定我是否瞭解您的問題。使用應用程序可執行文件旁邊的config/settings文件。讀取該文件的連接字符串。如果缺少該文件,請使用默認網址創建一個新的配置文件?
編譯配置設置讓我畏縮。
但是如果你擔心你的配置被壞人看到。
對其進行加密:http://www.4guysfromrolla.com/articles/021506-1.aspx
請記住,加密是基於計算機密鑰,這樣是行不通的這麼好部署桌面應用程序。
我們使用config文件的連接字符串部分,並且有一個類似字符串名稱:
AppDataInDev和應用程序數據
而且在config文件,我們有一個在應用程序設置稱爲InDev關鍵
在我們的數據層中,我們檢查InDev的值。如果爲true,則使用AppDataInDev初始化數據層,否則使用AppData。
這使得過渡到管理的過程變得簡單。當發佈到prod時,將InDev的值切換爲False,然後完成。 (如果是ASP.Net應用程序,請在同時將CompilationDebug切換爲False的同時執行此操作。)
請澄清,這是一個Web應用程序或桌面應用程序嗎? – 2009-04-24 13:45:31
無關緊要,配置文件名稱不同,但這是差異。 – Lucero 2009-04-24 13:48:10
問是因爲加密web.configs很容易。但部署的桌面應用程序和加密的應用程序配置不是 – 2009-04-24 13:50:59