icaaqMedlem sedan okt. 20005 273 inlägg Hur använder jag Cache classen i C#??
Jag har försökt att göra följande
[red]
using System;
using System.Net;
using System.IO;
using System.Web;
using System.Text.RegularExpressions;
using System.Collections;
using System.Text;
using System.Web.Caching;
...
...
...
if(Cache["fetchedstream"] == null)
{
_getmainstream = _fetchstream(@"http://www.webforum.nu");
Cache("fetchedstream") = _getmainstream;
}
else
{
_getmainstream = Cache("fetchedstream");
}
[/red]
Men jag får bara
System.Web.Caching.Cache' denotes a 'class' where a 'variable' was expected eller 'System.Web.Caching.Cache' denotes a 'class' which is not valid in the given context
på varje plats som jag använder Cache
hur ska jag göra??
mvh icaaq
Det ser lite konstigt ut. Prova något i den här stilen:
Cache c = new Cache();
c.Add("fetchedstream", massa grejer här); // Kolla doc:en på denna metod
// ett ex. Cache.Add("timestamp", timeStamp, null, d, t, CacheItemPriority.High, onRemove);
if (c.Get("fetchedstream") == null)
...
else
...
icaaqMedlem sedan okt. 20005 273 inlägg Nu har jag denna
[red]
Cache c = new Cache();
[b]if(c.Get("fetchedstream") == null)[/b]
{
_getmainstream = _fetchstream(@"http://www.essring.net/webnews/news.lasso");
c.Insert("fetchedstream", _getmainstream.ToString());
}
else
{
_getmainstream = c.Get("fetchedstream").ToString();
}
[/red]
men jag få System.NullReferenceException: Object reference not set to an instance of an object. påden feta :OO
mvh icaaq
Tror jag lurade dig lite förut. Hittade iaf ett exempel som visar hur man visar allt i ASP.NET:s cache
void ShowCachedItems()
{
// Declare variables.
string strCacheContents;
string strName;
// Display all the items stored in the ASP.NET cache.
strCacheContents = "<b>The ASP.NET application cache contains:</b><br/>";
foreach(DictionaryEntry objItem in Cache)
{
strName = objItem.Key.ToString();
if(strName.Substring(0, 7) != "System.")
{
strCacheContents = strName + " + " + Cache[strName].ToString() + "<br/>";
Response.Write(strCacheContents);
}
}
divCacheContents.InnerHtml = strCacheContents;
}
red: Hittade några länkar som kanske är nyttiga http://www.dotnet247.com/247reference/a.aspx?u=http://www.c-sharpcorner.com/Code/2002/April/DataCachingInASPNetJG002.asp och http://www.aspalliance.com/aldotnet/examples/cacheviewer.aspx
icaaqMedlem sedan okt. 20005 273 inlägg Men första gången man kommer in på sidan så kan det ju inte ligga nått i cachen....eller då måste jag kolla om det finns nått i den om det gör det sä lägger jag ju inte i nått annars fyller jag den...
eller tänker jag helt fel nu?
mvh icaaq
icaaqMedlem sedan okt. 20005 273 inlägg Då tänkte jag så här
[red]
string find = "fetchedstream";
bool there = false;
foreach(DictionaryEntry objItem in [b]Cache[/b])
{
if(Cache[find] == true)
{
there = true;
}
}
[/red]
men då blir det System.Web.Caching.Cache' denotes a 'class' where a 'variable' was expected
Varför förstår jag inte......men nån kanske kan hjälpa mig?
renholmMedlem sedan apr. 20012 266 inlägg Context.Cache.Insert("namn", object)
Funkar bra, sedan kan du lägga till olika parametrar för hu länge cáchen är gilltig.
icaaqMedlem sedan okt. 20005 273 inlägg För att informera er så ska man använda HttpRuntime.Cache.
Jag gjorde så här:
[red]
if(HttpRuntime.Cache["fetchedstream"] == null)
{
_getmainstream = _fetchstream(@"http://www.essring.net/webnews/news.lasso");
HttpRuntime.Cache.Insert("fetchedstream", _getmainstream, null, DateTime.Now.AddMinutes(30), TimeSpan.Zero);
}
else
{
_getmainstream = HttpRuntime.Cache["fetchedstream"].ToString();
}
[/red]
mvh icaaq