私たちが構築したUmbracoサイトのアゾレス自治地域展開スロットを活用しようとしています。デフォルトUmbracoことでUmbraco、Azureの展開スロットと接続文字列
はのconnectionStrings web.configファイルののセクションで定義されたDSNを使用して、我々は、それが中に座っての配備スロットの接続文字列を使用します。
我々はを試みた何
Azureデプロイメントスロットはすべての定義済みのアプリケーション設定(および接続文字列)を環境変数に入れてアクセスするために、Environment.GetEnvironmentVariable()
を使用できますが、Umbracoにこれを伝える方法はないようです。
したがって、OnApplicationInitialized()(/App_Code/Core/UmbracoAppStart.cs)ではweb.configからconnectionstringセクションを読み込み、env varsからconnstrを取得し、DSNをconnectionstringセクションに追加して保存しました。 正しい接続文字列を取得して保存しますが、これはアプリケーションをリサイクルしているようです(web.configの変更による)ので、タイムアウトが発生します。 (またはUmbracoのXMLキャッシュエラー、またはページをロードするのに20分かかります)。
私はあなたが別々のファイルにのAppSettingsとのconnectionStringsセクションを保存することができます知っています。しかしファイル属性は、(参照されたファイルが変更された場合には、リサイクルが発生することはありません)connectionStringsセクションでは動作しません - だけconfigSource属性と変更された場合、それはリサイクルありません。
(から:ASP.NET web.config: configSource vs. file attributes)
ヘルプ
は、誰もがこれを回避する方法を発見しましたか? WebConfigのではない1 - は、我々は単に展開スロット接続文字列を使用するようにUmbracoを取得する必要があります。
私はそれがどのように機能するかを理解せずにコピーして、現時点で盲目的に貼り付けるでも喜んだ - と私はそれ:)をやって嫌い。しかし、それはあなたがAzureの接続文字列やアプリの設定を使用するために、任意のコードを実行する必要はありません
うわー、今私は愚かな気がする。私は同じ名前を使用して空白にconnstrを追加しようとしたことはないと認めなければなりません...まだこの2日間の私のグーグルでこれを見つけられなかったとは信じられません。しかし、それは動作します、ありがとうMario :) – Jag
ハ、問題ありません。あなたがそれを知っていると、すべてが簡単です。 –