ASP.NET MVC 3 Web アプリケーションで新しい ASP.NET バンドル機能 (System.Web.Optmization 1.0.0-beta プレリリースを使用) をいじっています。
よく働く。
ただし、データベースに保存されている特定の動的CSS/JS があります。
「DynamicBundle」など、コア バンドルの別のバンドルにこれを追加したいと考えています。私はそれを行う方法を知っていますが、問題ではありません。
私の質問は、この CSS/JS がデータベースで変更された場合、そのバンドルを「更新」して、それらのファイルの内容をバンドルに再読み込みする必要があるということです。
基本的に、バンドル URL に追加される魔法の GUID/文字列を再生成するには、ASP.NET が必要です。
理想的には、バンドル テーブル全体ではなく、特定のバンドルのみを更新したいと考えています。
これを行う方法はありますか?
編集:
2 つ目の問題は、動的 CSS/JS をバンドルに追加する方法がわかりません。bundle.AddFile
ファイルへの仮想パスを取りますが、これは物理ファイルではなく文字列です。どうすればいいですか?確かに、最初に文字列をファイルに書き出す必要はありませんか?
EDIT 2: 動的コンテンツをバンドルしないことにしました。2 つの理由から:
- 1ファイルのみなので、「バンドル」のメリットはありません
- バンドルは静的コンテンツ用に設計されていますが、これはそうではありません
だから私がやったことは、実行時に動的なcss / jsを手動で縮小することです(一度、次にキャッシュされます)。そうすれば、キャッシュをクリアするだけで簡単に更新できます。
そうは言っても、これはまだ関連する質問です(バンドルの更新)ので、開いたままにします..