2011-02-09 10 views
2

私のウェブサイトは、ページコンテンツが頻繁に変更されないブログのようなものです。だから私はページ出力キャッシュを使用することにしました。ASP.NETカスタム出力キャッシュを実装する際にアドバイスが必要

しかし、すべてのページの出力キャッシュをオンにしてキャッシュの持続時間を1時間に設定したとき、Webホストは広範なシステムメモリを使用しているため、サイトを一時停止していました。その後、私は2分の時間を再設定しますが、何度かデータベース接続のタイムアウトエラーが発生します。

パフォーマンスを向上させるために、とにかく私はキャッシュする必要がありますが、メモリにキャッシュする必要はありません。だから私は次のアイデアを持ってきた。それが最良のアプローチであるかどうかアドバイスをしてください、またはこれより良い解決策がありますか?

すべてのリクエストを傍受するHTTPモジュールを書きたいと思います。特定の要求のキャッシュバージョンが存在しない場合は、ページレスポンスを(フィルタ書き込みを使用して)ディスクにファイルとして書き込み、それ以外の場合はレスポンスとしてこのファイルを送信します。

ターゲットフレームワークあなたはASP.NET 4.0であれば、あなたはHttpModuleをとしてこれを記述する必要はありません2.0

+0

[Microsoftエンタープライズライブラリ](http://msdn.microsoft.com/en-us/library/ff648951.aspx)を参照してください。問題を解決するキャッシングアプリケーションブロックがあります。 – Koen

+0

@ Koen、私はそれがデータキャッシュのためだけであり、出力キャッシュのためではないことを願っています – Veeru

答えて

0

である - 出力キャッシュは、プロバイダベースである、あなただけの新しいプロバイダを書くことができますし、 Gunnar Peipmanには、ファイルベースの出力キャッシュプロバイダを書く上で素晴らしいブログhereがあります。

+0

ターゲットフレームワークは2.0です – Veeru

関連する問題