Ask a Question related to ASP.NET General, Design and Development.
-
Brian Vallelunga #1
Cache with Callback problems... threading?
I'm having a problem using the Cache object with asp.net. Here is what I
have:
1) I put something in cache and set its callback method.
2) The object times out after X minutes and calls the callback method
specified.
3) The callback method gets the newest version of the item from the db and
then calls a helper method to put the item back into cache. It looks like
this:
//Pseudocode
// Called once by app
Initialize()
{
Data myData = DataTier.GetData();
AddDataToCache("key", myData);
}
// Puts item into cache with 10 minute expiration AddDataToCache(string key,
object data) {
// Delegate for expiring callback
CacheItemRemovedCallback onRemove;
onRemove = new CacheItemRemovedCallback(RemovedCallback);
// Add data to the cache
HttpContext.Current.Cache.Add(key, data, null, DateTime.Now.AddMinutes(10),
TimeSpan.Zero, CacheItemPriority.High, onRemove);
}
// Called when item expires
RemovedCallback(string key, object value, CacheItemRemovedReason reason)
{
Data myData = DataTier.GetData();
AddDataToCache(key, myData);
// Any code here won't be called!
}
That's basically the scenario. Ideally, I would initialize the system once,
and then it would automatically refresh the data within it every time the
cache expired.
When debugging though, after the cache times out, the item is not put back
in. It is very strange. RemovedCallback is called, but if I put a trace
statement after the AddDataToCache method call, the trace is never written.
Does anyone have an idea as to what is happening?
Thanks,
Brian
Brian Vallelunga Guest
-
Problems with Trust Cache
:confused; We are having a problem with response time to our webservers running CF ver. 5 . This started after a template change was made by our... -
Problems with cache - PHP returns always the same XML
Hello, I've develope an aplication in Flash MX 2004, using PHP&XML to comunicate the aplication with the DDBB. Then, If I load an XML object in... -
Cache DataGrid Datasource, Add/Delete rows and rebind problems
Hi all, Is there any way to cache the Datasource of datagrid and allow to add/delete row in cache, then rebind the datagrid from cached... -
Safari Cache problems with Flash in DWMX?
I have a flash site created in DWMX. A button on the page in flash pops up a new window, containing flash navigation to choose between different... -
PB1400C/NUpowr G3 1400 cache problems
Hi folks, Some time ago the control panel for this hardware started to refuse to take any backside cache speed setting, stating that too high a... -
Natty Gur #2
Re: Cache with Callback problems... threading?
Hi,
Here is the problem ... you are using the current context to get the
application and set the cache. This works perfectly when the application
init. But when the cache remove callback called there isn’t any request
and the current context not existing. To overcome this issue add private
variable to the global class that will hold the application then set him
when the application start. Now you can use the application variable.
you can see my example (and download) from :
[url]http://www.developersdex.com/gurus/code/653.asp[/url]
Natty Gur, CTO
Dao2Com Ltd.
28th Baruch Hirsch st. Bnei-Brak
Israel , 51114
Phone Numbers:
Office: +972-(0)3-5786668
Fax: +972-(0)3-5703475
Mobile: +972-(0)58-888377
Know the overall picture
*** Sent via Developersdex [url]http://www.developersdex.com[/url] ***
Don't just participate in USENET...get rewarded for it!
Natty Gur Guest
-
Brian Vallelunga #3
Re: Cache with Callback problems... threading?
Hmm... thanks for the help. Unfortunately, I don't think the method
described below will help me. The page I am using this on actually caches
many different things, and I don't know what all of them will be at the
start of the application. Do you have an idea of how I could still go about
doing this?
Brian
"Natty Gur" <natty@dao2com.com> wrote in message
news:%23tFfYcaUDHA.360@TK2MSFTNGP11.phx.gbl...> Hi,
>
> Here is the problem ... you are using the current context to get the
> application and set the cache. This works perfectly when the application
> init. But when the cache remove callback called there isn't any request
> and the current context not existing. To overcome this issue add private
> variable to the global class that will hold the application then set him
> when the application start. Now you can use the application variable.
>
> you can see my example (and download) from :
> [url]http://www.developersdex.com/gurus/code/653.asp[/url]
>
> Natty Gur, CTO
> Dao2Com Ltd.
> 28th Baruch Hirsch st. Bnei-Brak
> Israel , 51114
>
> Phone Numbers:
> Office: +972-(0)3-5786668
> Fax: +972-(0)3-5703475
> Mobile: +972-(0)58-888377
>
> Know the overall picture
>
>
> *** Sent via Developersdex [url]http://www.developersdex.com[/url] ***
> Don't just participate in USENET...get rewarded for it!
Brian Vallelunga Guest
-
Natty Gur #4
Re: Cache with Callback problems... threading?
I think you miss understand me. What I suggested is to save the
application in a class level variable inside the global class so you can
use it when the cache period will be finish and you want to refill the
cache.
Natty Gur, CTO
Dao2Com Ltd.
28th Baruch Hirsch st. Bnei-Brak
Israel , 51114
Phone Numbers:
Office: +972-(0)3-5786668
Fax: +972-(0)3-5703475
Mobile: +972-(0)58-888377
Know the overall picture
*** Sent via Developersdex [url]http://www.developersdex.com[/url] ***
Don't just participate in USENET...get rewarded for it!
Natty Gur Guest



Reply With Quote

