1

私は Azure (2.2) を初めて使用し、構成の変更をワークアウトしようとしています。使用したい紺碧の設定にフラグがあります。特に、キューからの処理を停止し、ステージングと本番環境の移行を支援します。

ポータルの config から新しい構成をアップロードしましたが、これで数時間遊んだ後、常にインスタンスを破棄して再作成するようです。

インスタンスを破棄せずに構成ファイルを更新する方法はありますか?

ありがとう

*編集と回答への回答*

私は変更された/変更されたイベントで遊んだ。彼らは実行したかのように見えましたが、再起動によって一掃されました。

私のテストで、自分自身を十分に説明したいと思いますが、静的カウンター変数があり、デフォルトで 1 に変更/変更イベント内でイベントが発生するたびに変数をインクリメントする場合。また、デフォルトで「JUNK」に設定されていた静的変数を、イベントで設定された新しい構成値に設定しました。設定を多数の値で何度もアップロードし、静的を構成から直接読み取ったものと比較した結果、常に静的がデフォルト値に戻り、新しい構成フラグが読み取られました。アプリ ドメインが再起動され、すべての初期化コードが再度実行されます。これは、設定変更イベントを無視して構成をアップロードし、初期化を再度実行できることを意味します。これは回避しようとしていたことです。

4

3 に答える 3

3

構成設定値を変更しても、ロール インスタンスが破棄されて再作成されるとは思いません。ロール インスタンスを停止してその設定を適用し、再び起動する (つまり、再起動する) ことができます。複数のインスタンスを実行している場合、変更は一度に 1 つのインスタンスに適用されるため、アプリケーションは引き続き動作します。

RoleEnvironmentクラスには、Changingその目的で使用できるイベントがあります。それを見てください。Cancelプロパティをに設定するとfalse、インスタンスが削除されることなく変更が適用されると思います。

Changingイベントのドキュメント ページから:

Changing イベントと Changed イベントは、サービス モデルに対する構成変更を識別および管理するために一緒に使用されます。インスタンスは、Changing イベントを使用して、次のいずれかの方法で構成の変更に応答できます。

  • オフラインにならずに、実行中に構成の変更を受け入れます。

  • RoleEnvironmentChangingEventArgs の Cancel プロパティを true に設定して、インスタンスをオフラインにし、構成の変更を適用してから、インスタンスをオンラインに戻します。

Cancel プロパティを使用することで、構成の変更が適用される前にインスタンスが正常なシャットダウン シーケンスを実行し、オフラインになることを確認できます。シャットダウン プロセス中、Windows Azure は Stopping イベントを発生させ、OnStop メソッドで任意のコードを実行します。

于 2013-11-04T05:30:19.860 に答える
1

設定が ServiceConfiguration.cscfg ファイルにある場合は、Azure Portal で構成設定を更新するだけです。クラウド サービスを参照し、[構成] タブを選択します。[設定] まで下にスクロールし、値を変更してから保存します。

于 2013-11-03T23:35:48.727 に答える
0

私はそれが可能だとは思わない。必要な構成変更により、常にインスタンスが再起動されます。

于 2014-01-01T21:07:43.630 に答える