.NETWebアプリケーションをAzureWebロールにデプロイしようとしています。他の人が静的コンテンツ、特に画像とCSSをどのように処理したのか疑問に思っていますか?現在、アプリケーションパッケージは約25 MBですが、そのうち18 MBは、ナビゲーションボタン、アイコン、テンプレートコンポーネントなど、ほとんど更新されない画像から純粋に派生しています。これをデプロイメントパッケージから分割してBLOBストレージに移動するのが賢明でしょうか?
私はこのアプローチについていくつか疑問がありますが、私はそれが有効であると思っています...
当サイトの80%はHTTPS環境で運営されています。BLOBストアの画像にアクセスすると、クロススクリプトの問題が発生しますか?
誰かが私たちの画像を悪意を持って槌で打とうとした場合(ほとんどが20kb未満)、お金の漏洩に対する脆弱性はありますか?
ディレクトリの命名規則を使用して(VS2010 + Azure SDKから)blobコンテナーにファイルをアップロードする方法を確認するのに苦労しているので、何千ものパス参照を書き直す必要はありませんか?ディレクトリはblobコンテナーの抽象的な概念であると思いますが、コードでこれを模倣するためにスラッシュを使用してファイルを書き込むことができます。明らかに、Windowsでは、VisualStudioにアップロードする前にこれを行うことはできません。
任意の考えや代替戦略を歓迎します。目標は、実際には、展開パッケージを縮小して展開時間を短縮することです。また、専用ノードに提供する画像をオフロードしてWebサーバーのパフォーマンスを向上させるというアイデアも非常に気に入っています。おそらく、画像コレクションが非常に小さいため、気にする価値はほとんどありません。
5月16日更新----------------------------------------------- -------------------------
これが私が最後にしたことです:
1.すべての画像とcssをBLOBストレージコンテナに転送しました。画像とcssフォルダー内のサブディレクトリの構造を維持しました。
2.次のようにweb.configファイルにURL書き換えルールを適用しました。
<rewrite>
<rules>
<rule name="imagestoazure">
<match url="images/(.*)" />
<action type="Redirect" url="https://xxxxx.vo.msecnd.net/images/{R:1}" />
</rule>
</rules>
</rewrite>
3.アプリケーションから画像とcssフォルダーを除外してデプロイしました。
私の展開は今でははるかに小さくなり、イメージはCDNで実行されて帯域幅を解放し、ダウンロード速度を向上させ、Webサーバーからの負荷を解放しています。
更新:2015年9月
最近これをレビューしたとき、私はマイクロソフトからの次のガイドに出くわしました。クエリ文字列を使用してアセットのデプロイとキャッシュバストを自動化する方法について詳しく説明します。