15

Azure App Services のスロット アプリケーション設定をよりよく理解する必要があります。それらがいつ適用され、どのように正しく使用されるか。

以下のように、それぞれ 2 つのスロットを実行する 2 つの App Services をセットアップしています。

  1. スロットのあるサイト 1 - 建物 - ステージング
  2. スロットのあるサイト 1 - ステージング

  3. スロットのあるサイト 2 - 構築 - 生産

  4. スロットのあるサイト 2 - 本番

そのため、サイトごとに、アプリケーション設定ブレードのビルド スロットに無効な接続文字列を配置して、サイトにアクセスできず、基本的に azuerwebsites.net の URL にエラー ページが表示されるようにしたいと考えています。そのスロットのために。

それぞれの本番スロットに正しい接続文字列を配置して、一度交換すると機能するようにします。

これを確実に機能させることができません。スワップすると設定が適用されません。運用スロットの接続文字列をスロット設定としてマークする必要がありますか? ビルド スロットの元のものをスロット設定にする必要がありますか? 知らないナゲットパッケージをインストールする必要がありますか。

助けてください

4

2 に答える 2

13

あなたの質問を正しく理解できた場合は、それらすべてをスロット設定としてマークする必要があります。

スロット設定としてマークされたアプリ設定と接続文字列は、スワップが完了したときにスロットに残ります。スロット設定としてマークされていない設定/接続文字列は、アプリと交換されます。

于 2016-06-15T15:51:32.243 に答える
5

私の質問に対する答えは、このドキュメントにありました。(Azure チームの誰かが遭遇した場合は、ここのデプロイ スロットの構成セクションから実際にリンクする必要があります)

Windows Azure Web サイト: アプリケーション文字列と接続文字列のしくみ

一言で言えば、.NET 4.5 フレームワークを使用している場合を除き、アプリケーション設定ブレードから設定を取得するために ConfigurationManager を使用しないでください。

.NET 4.5 フレームワークを使用しない場合は、Environment.GetEnvironmentVariable代わりに使用する必要があります。

私の既存の環境を App Services に変換していたとき、これは私をつまずかせました。これを確認するようにどこかに大きな警告を表示したいと思っていました。

編集:これがすべてではありませんでした。

他の部分は、ドキュメントの「スティッキー」および「スティッキーではない」設定の意味です。設定が実際に web.config ファイルに入れられるのではなく、アプリにアクセスできるメモリ内のプロパティ バッグに存在するという事実への参照を見つけ続けました。この不思議な袋の中身がどうやって見えたのか、参考文献は見つけられませんでしたが、答えがわかればすぐにわかります。

スワップ中、ステージング スロットの設定は実際には本番スロットの設定にコピーされます。つまり、本番スロットの [アプリケーション設定] ブレードで実際に変更されます。また、スロットの [アプリケーション設定] ブレードにあるものは、メモリ内のプロパティ バッグにあるものです。

于 2016-06-16T01:28:59.807 に答える