我有一個使用mvc5的C#web應用程序。它目前運行在Azure上,我有一個開發,測試和生產實例。我需要做些什麼來確保數據庫連接字符串會在應用程序被推送到每個環境時自動更改?我知道這可以通過web.config來完成,因爲您可以定義Web.Debug.Config等,但是我將如何解決Azure上不同的工作角色?我一直在互聯網上尋找解決方案。簡而言之,我想要使用與多個web.config文件相同的方法,但對於Azure。部署到多個Azure環境(開發,測試,生產)的推薦方法是什麼?
作爲一些額外的背景,對於我的解決方案,我已將我的存儲庫分解爲一個單獨的項目,並且我試圖從配置文件中獲取連接字符串(讓我們假設domain.dll是包含庫的名稱它)。首先,當我只使用web.config時,但是當我必須從另一個輔助角色運行我的域DLL文件時,配置開始返回null;因爲這個代碼在從不同的工作進程(非web)運行時不會運行。這似乎引入了一個有趣的問題,如果我需要在網絡之外和Azure之外使用domain.dll代碼,該怎麼辦?如何維護Azure和web.config提供的連接字符串好處?
我正在使用網站。 – user1790300
「角色」從哪裏來?你如何在web上下文之外執行後臺進程? WebJobs? – trailmax
我的歉意,我有點困惑。上面例子中的「DatabaseConnectionString」是否會用於開發,測試和生產,或者您需要爲每個連接使用不同的字符串名稱。對於上面的示例來說,您需要爲每個連接使用不同的名稱?另外,如果情況並非如此,確定環境何時發生變化的邏輯是什麼?我看到「服務配置」下拉列表,但這樣就足夠了嗎? – user1790300