2011-08-31 12 views
3

私のWebアプリケーションにはCacheを使いたいと思います。ここでASP.NETキャッシュクラスに関する質問

は、私は、このリンク、そのリンクのhttp://msdn.microsoft.com/en-us/library/18c1wd61.aspx

、すべての例では、Cache["KeyName"]="blah blah blah"のようなものを使用した質問

です。私は同じことをしようとすると

、私はエラーメッセージを持って、私は何をすべき"using System.Web.Caching.Cache is a type but used like a variable"

が言いましたか?

インスタンスを作成する必要はありますか?

私の例

string test = "123"; 
    if (HttpContext.Cache["test"] != null) 
    test = (string)HttpContext.Cache["test"]; 
else 
    HttpContext.Cache["test"] = test; 

答えて

4

名前の重複があると思います。明示的で、それが動作するかどうかを確認:

あなたはまた、あなたのASP.NETの分離コードで次の操作を行うことができます
HttpContext.Current.Cache["KeyName"]="blah blah blah"; 

Page.Cache["KeyName"]="blah blah blah"; 

または

this.Cache["KeyName"]="blah blah blah"; 

Cache

がASP.NETによって処理されますだからあなたはそれを使うのではなく、それを使わなければなりません。

EDIT:は、ASP.NET MVCでは、あなたのコントローラ内で使用することができます以下

HttpContext.Cache["KeyName"]="blah blah blah"; 
+0

ご返信ありがとうございます。しかし、なぜ私はHttpContext.Current.Cacheを持っていないのですか?私は代わりにHttpContext.Cacheを持っています... – HorseKing

+0

@ user361022どこからキャッシュにアクセスしようとしていますか? aspxページのコードバインドまたはクラスファイルですか? – Kelsey

+0

コードの背後から...私はいくつかの名前空間がないと思います。 – HorseKing

1

あなたは、インスタンスを作成する必要はありません。 ASP.NETはそれを自動的に行います。

HttpContext.Current.Cacheを使用してください。

+0

は、ご返信いただきありがとうございます。 – HorseKing

関連する問題