0

mvc3 でファイル依存キャッシュを実装しようとしています。私はMVCが初めてなので、検索したGoogleを閲覧しましたが、何の助けも得られませんでした.

私たちの仲間の誰かが私を助けることができますか? またはこれに対する回避策は何ですか?

asp.net で行っていることと同じことを試みましたが、エラーが発生しました。

私が試したコード:

public ActionResult About()
    {
        Cache.Insert("DropDownData", "", new System.Web.Caching.CacheDependency(Server.MapPath("~/testxml.xml")));

        return View();
    }

私が得たエラー:

An object reference is required for the non-static field, method, or property 'System.Web.Caching.Cache.Insert(string, object, System.Web.Caching.CacheDependency)
4

3 に答える 3

1

問題は Cache.Insert、キャッシュのインスタンスへの参照なしでインスタンス メソッドを呼び出していることです。ASP.NET MVC は、既定ではコントローラーの既定のキャッシュを公開しません。

コントローラーからアクセスするには、使用する必要がありますHttpContext.Cache.Insert

そうは言っても、この種の動作は ActionFilter でより適切にローカライズされます。詳細については、次を参照してください: http://www.asp.net/mvc/tutorials/older-versions/controllers-and-routing/improving-performance-with-output-caching-cs

于 2012-06-06T06:49:27.823 に答える
0

参照を正しく追加しましたか?

同様にオブジェクトを作成してみてください

CacheDependency CDep = new CacheDependency(fileName /*your file path*/, dt /*Set Start parameter to current date */);

そして、次のように使用insertします

cache.Insert("DropDownData", "", CDep);
于 2012-06-06T06:49:13.593 に答える
0

試す

System.Web.HttpRuntime.Cache.Insert

System.Web.HttpRuntime.Cache現在のアプリケーションのキャッシュ インスタンスです。

于 2012-06-06T06:52:18.243 に答える