2014-02-12 34 views
4

以下是關於新的Azure Staging Feature的全部詳細信息。它說爲什麼Azure Staging功能在我做交換時替換連接字符串

從上演的版本有些設置將自動複製到 生產版本 - 包括像連接字符串 覆蓋,處理器映射和其他設置,你可能有 配置。其他設置,如DNS端點,SSL綁定等 不會更改(確保您無需擔心用於暫存域的SSL證書 覆蓋生產URL證書等)。

我不明白的是,它說連接字符串是覆蓋。當我做交換連接字符串時,他們交換對方。那麼在這種情況下,我的分段網站數據庫就會成爲生產數據庫。我期望的是,它根本不觸及連接字符串,而且我的生產站點將繼續使用相同的數據庫,但它使用分段數據庫,因爲連接字符串彼此交換。

是否可以配置暫存網站不替換連接字符串?

交換原因在生產網站上使用測試數據庫是不是錯誤的由蔚藍團隊設計的?

回答

3

不幸的是,這是現在的設計。 AppSettings只是環境變量。要在交換中加載不同的環境變量,這將需要重新啓動一次進程,這將消除此功能的主要要求之一,從而消除冷啓動時間。

現在,您可以自動將暫存數據庫更改爲生產數據庫,然後在交換之前打開您的站點對其進行預熱。但請記住,此功能現在處於預覽狀態,並且有些內容需要更改。

+2

誰可以擁有用於暫存正在轉換爲生產數據庫的數據庫的用例?我認爲這個功能不是用來處理不同的網站版本,它們在數據庫方面有差異,所以它現在只適合用戶界面的變化。 – Freshblood

+1

事情並非如此簡單,Azure是否交換連接字符串,您將不得不調整您的場景才能使用它。 假設天青有一個生產線和一個生產線,並且它們對插槽有粘性,這意味着它們不會互換。然後,您對vNext分段Db進行了更改。在進行交換之前,您需要以某種方式將該更新傳遞給生產數據庫,否則新代碼將在舊數據庫上運行。它最終取決於你的特定場景。如果你能爲我描述更多的情況,這可能會有所幫助。不同的Dd架構?在Db中測試數據? – ahmelsayed

+1

我使用實體框架代碼第一次遷移,所以我使用2數據庫。當我交換時,我希望我的遷移更新到生產數據庫。這是我的用例。實體框架已經在初始化時自動處理數據庫更改,但Azure不是以這種方式設計的。你說「否則新的代碼將運行在舊的數據庫(模式)」,但在這種情況下,新的數據庫(模式)將不會有用戶的最新數據更新。 – Freshblood