トラフィックが急増するWebサイトに静的な.htmlページを使用しようとしています。ウェブサイトはMVC3
アプリです。静的な.htmlページは、次のようなディレクトリ構造になっています。
approot
|---content
index.html
|---staticpages
page1.html
page2.html
page3.html
defaultDocumentをに設定しましweb.config
た"content/index.html"
。プロジェクトに.htmlファイルを含めてアプリをデプロイするだけで、正常に実行されます。
私たちがやりたいのは、すべてのhtmlファイルをblobとしてストレージコンテナーに入れることです。バックグラウンドタスク(WebRoleで実行)は、更新されたファイルを定期的にチェックします。バックグラウンドタスクは、サーバーの起動時に.htmlファイルが存在するかどうか、または更新が必要かどうかも確認します。理想的には、プロジェクトに.htmlファイルを含める必要はなく、サーバーの起動時にストレージからそれらを取得するだけです。
バックグラウンドタスクはファイルをプルダウンし、適切なディレクトリに適切に配置します。ただし、www.mysite.comなどのWebサイトにアクセスしようとすると、IISは403
エラーを返します。他の.htmlページのいずれかにアクセスしようとすると、404
エラーが発生します。MVC
これは、ローカル開発環境でアプリをテストする場合には発生しません。
でディレクトリブラウジングをオンにするIIS
と、サイトのディレクトリを取得するときにファイルまたはディレクトリが表示されません。もう一度、www.mysite.comのようなドメインだけを使用します。
プロジェクトに.htmlファイルを含めてからwebrole
、ストレージ内の1つを更新しようとすると、ストレージblob
からプルされますがIIS
、古いページが表示されます。それが問題ではないことを確認するために、ブラウザのキャッシュを削除しました。新しいファイルはサーバー上で正しく更新されています。私はそれを私のローカルマシンにコピーしてその中を調べました、そしてそれは確かに更新されたバージョンです。
したがって、これまでのところ推測できることからAzure caches
、Webサイト全体が展開されており、コンテンツの変更が許可されていないように見えます。
変更を強制的に認識する方法はありAzure
ますか、それとも静的な.htmlページに変更があった場合はいつでも再デプロイを強制されますか?