Html.RenderPartial("hogehoge")でascxを描写している箇所でFileNotFoundExceptionがいくつも放り出されている。おいおいまじかよ、これどうなってんの?と焦るかもしれないが、これは決して深刻な問題ではない。この現象はデバッグ時にASP.NET MVCがViewのパス解決をキャッシュしないために毎度発生している。なのでweb.configのcompilation debugをfalseにしてやればこの問題は発生しない。
<compilation debug="false">
ちなみにWebアプリをリリースする際にはdebugモードは常にfalseにするように心がけよう。さもなければ、下記のようなデメリットにさいなまれることになる。
- 初期ページコンパイルにより時間がかかる(いくつかの最適化バッチが走らないので)
- 実行スピードの低下(デバッグ情報が追加されるので)
- 使用メモリの増大
- スクリプトと画像のキャッシュ無効化
仮にひとつひとつのWebアプリケーションをチェックするのが面倒ならば、machine.config上に下記のセクションを追加してやれば、そのマシン上のWebアプリケーションはすべて強制的にリリースモードで実行される。
<configuration>
<system.web>
<deployment retail=”true”/>
</system.web>
</configuration>
0 件のコメント:
コメントを投稿