0

Web role の web.config を変更したいだけの場合。残りの Web ロールを変更したくありません。Web ロールを公開するたびに、VS2010 は Web ロールのすべてのファイルを azure にアップロードするようです。指定した Web ロールのファイルをクラウド サービスにアップロードすることはできますか? ありがとう

4

2 に答える 2

3

いいえ。これは、クラウド サービスでは不可能です。つまり、web.config を変更すると、ロール全体を再デプロイする必要があります。

そのため、.cscfg ファイル (クラウド サービス構成ファイル) を確認することが適切な場合があります。その場で(ロールの実行中に)何でも変更できます。もちろん、これは、種類の接続文字列へのすべての参照を変更する必要があるため (どこかで使用されている場合)、初期オーバーヘッドが追加されます<%$ ConnectionStrings:MyNorthwind%>。ただし、プラットフォームに依存しないソース (web.config、クラウド サービス構成、または Azure テーブル ストレージなど) から読み取るようにすべての構成関連の設定を変更すると、非常に柔軟なアプリケーション デプロイ オプションが得られます。サービス構成でまだ変更できない唯一のものは、system.serviceModelweb.config のセクション。WCF の自動配線はそれに大きく依存しているためです。これは、WCF サービスを使用している場合のみです。ただし、WCF サービスでさえも動的に構成できます。

UPDATE(コメントの後)

これはサービスとしてのプラットフォームを提供するパブリック クラウドであるため、再デプロイする必要があります。これには、ハードウェア障害の自動「修復」、OS パッチ/更新、ランタイム (.net) 更新、無制限のスケーラビリティが含まれます。PaaS はステートレスです。ステートレスとは、システムの修復/再起動/障害/スケールアウト/スケールイン プロセス間で状態が保持されないことを意味します。システム用に準備したもの (.cspkg および .cscfg) は、何かが発生したとき (初期展開、修復展開など) にクラウド サービスを形作るための "ベース イメージ" として使用されます。

個人的には、再展開にそれほど時間がかかるとは思いません。たぶん、十分な規模の展開に直面していません。ただし、ベスト プラクティスとして、CSPKG/CSCFG を BLOB ストレージ コンテナーにアップロードし、そこからデプロイ/アップグレードします。"再デプロイ" する必要がある場合は、"自動アップグレード" を実行するだけで、あとは Azure プラットフォーム ファブリック (これは、サービスが稼働中であることを確認するインテリジェントなものです) が処理します。残りは、アップグレード ドメインごとに、インスタンスをロード バランサーから取り出し、パッケージを更新し、インスタンスをロード バランサー ローテーションに戻すなどです。

于 2012-10-26T06:57:46.463 に答える
0

残念ながら、Azure では、パッケージをファイルごとに更新することはできません。パッケージ全体を再デプロイする必要があります。サイズが大きいパッケージを持っている場合、これは本当に苦痛です。私のソリューションは、通常、アップロードに約 45 分かかります。

私の提案は、Azure で仮想マシンを作成し、そこで Web サイトをホストすることです。エンドポイントとして http ポート 80 を開くことを忘れないでください。負荷分散されたマシンを計画している場合は、すべてのサーバーでファイルを複製する必要があります。仮想マシンはステートレス (Web ロール VM) ではなくステートフルであるため、設定とデータは保持されます。

于 2013-04-27T10:28:03.763 に答える