これにより、ロード バランサーでスティッキー セッションが有効になっていない場合に問題が発生する可能性があります。ビューでファイルをレンダリングしているため、ファイルはサーバー 1 でレンダリングされる可能性があり、アセットの要求は実際にはサーバー 2 にルーティングされますが、そこではファイルがまだ作成されていない可能性があります。
Web ファームのシナリオでは、Application_Start でバンドルを作成し、キャッシュされた/名前付きのメソッドのいずれかを使用してビューでレンダリングするのが最善だと思います。
したがって、代わりに静的ファイルへのレンダリングを続けたい場合は、application_start (global.asax.cs) またはダウンストリーム (SquishIt 用の特殊な初期化子が好きです) に次のようなものがあります。
Bundle.JavaScript()
.Add("~/js/jquery-1.4.2.js")
.Add("~/js/jquery-ui-1.8.1.js")
.RenderNamed("bundleName", "~/js/combined_#.js") //2nd arg is used to resolve disk location
次に、ビューでレンダリングします。
<%= Bundle.JavaScript().RenderNamed("bundleName") %>
これにより、サーバーが要求に応答する準備ができるまでにファイルが作成されていることが保証されますが、アプリケーションの起動時間が長くなります (アプリ プールが頻繁にリサイクルされないようにしてください!)。
バンドルが見つからない場合に回復する機会が得られるため、アセット コントローラーの方法の方が適している可能性があります。ここでそれについて読むことができます: https://github.com/jetheredge/SquishIt/wiki/Using-SquishIt-programmatically-without-the-file-system
最後に、CDN を使用することも適切なオプションです。ここで(Amazon S3 / Cloudfrontを使用しますが、アイデアはどのCDNにも当てはまります)それについて読むことができます:http://blogs.lessthandot.com/index.php/WebDev/ServerProgramming/making-squishit-work-with-アマゾン