State Management :: Setting The Output Cache For 5 Pages (5 Minutes)?
Aug 27, 2010I have set the output cache for 5 pages(5 minutes)
I want to clear all these pages from cache on some nutton click
I have set the output cache for 5 pages(5 minutes)
I want to clear all these pages from cache on some nutton click
I am using the "Inproc" mode of setting session state to 45 minutes but still the session times out after 10 or so minutes.
Following is the setting included in the web.config:
<sessionState mode="InProc" cookieless="false" timeout="45"/>
I'm trying to cache a complex page with lots of controls on it so that if the user navigates to it later it will look like it did when he last saw it.The page has controls which post back and other controls are populated depending on the selections.
I'm using [Code]....
after the <@ Page directive.
What happens is that a postback gets the cached page, so no processing and it looks the same regardless of user selections. So far so good. But if I browse to another page and return by a link, the cached version is ignored and the default page is created again. This is more or less the opposite to what i want.
I attempted to use the validation callback to ensure that a postback resulted in a new version, and that worked, but it still ignored the cached page if it wasn't a postback.I realise that it will need more work to ensure each user gets their version of the page from the cache, but why bother if this doesn't work.
i have 2 questions about output cache:1.is it just me , or does it seems that it is used only after the second time that the user reaches the webpage? if so, why, and how can i tweak it to my needs? my guess is that it wouldn't be logical to cache every time a user reach a webpage, but only when it happens enough times.2.i know that i can use "varybyparam" for using the output cache when the parameter doesn't change , but it seems that it would use the output cache even if there is no parameter , or if the specified paramter is not there. is there a way to overcome this?3.an old question that somehow marked as "answered" , yet i didn't solve : suppose i created a user control and i gave it values through the CTOR via the aspx file . is it possible to show the values from within the split/design mode? remember that i've talking about ASP.NET and not simply C# winforms . i write this because this question was on :[URL]and the answer that i got was for C# and winforms . i've tried to do the same for ASP.NET , but i've failed.
View 6 RepliesI create a menu control in a user contol, named as RightUserrControl.ascx.
and i kept this RightUserrControl.ascx in nearly in 200 pages.
every thing is working fine , but when ever i am going to any page the page loading is very slow, nearly each page is taking 1 minute to load.
set caching for the user control, if this is the case , do i need to declare output cache in all 200 pages or is there any alternative way to resolve this issue.
i want to automatically get logged out after 5minutes......with the condition ....if user is idle for 5minutes......suppose user goes out and comes back in 3minutes and scrolls his mouse the page should logout after 2 more minutes....
View 9 RepliesIn my webconfig i put
<system.web>
<sessionState timeout="60"/> doesn't work for me
Also i changed in IIS configration Manager as well from 20 minutes to 60 minutes, but still it expire after 20 minutes of no actiuvity.
My page is logging out in 20 minutes. I want my page should not be logged out for 60 mins.
View 4 RepliesI'm facing a great problem in session. My session expires after every 4-5 minutes. Firstly I checked my web hosting settings. I increased session timeout to 50000. In my web.config I wrote :
[Code]....
Also Locally it expires withing 5 minutes. Secondly can I also increase idle timeout.
I created a form where I put some radio buttons. When User select one of them depending upon the option it will start his / her time counter. StartTime and EndTime and I am couting total time he/she takes. Till here it is OK. But what I want when user clicks on Logout, then he/she will logged out (Temporary). and after the some time when he / she will again login..... here, I want to set his / her EndTiming. I don't understand how to maintain this state?
View 5 RepliesIn my Application_BeginRequest I have code that gets query string value ?c=FR or ?c=US and store it in cookies.Based on query string value I have either US or FR,locale is selected from locale table.If ?c=FR then locale will be fr-FR and if it is US then locale will be en-US.My code is below.
void Application_BeginRequest(object sender, EventArgs e)
{
LocalizationInfo loc = GetLocalizationInfo();
if (Request.Cookies["Localization"] == null)
Response.Cookies.Add(new HttpCookie("Localization"));
Response.Cookies["Localization"]["Country"] = loc.Country;
CultureInfo objCI = new CultureInfo(loc.Locale);
Thread.CurrentThread.CurrentCulture = objCI;
Thread.CurrentThread.CurrentUICulture = objCI;
}
public static LocalizationInfo GetLocalizationInfo()
{
string countryCode = "";
string sLocale = "";
if (HttpContext.Current.Response.Cookies["Localization"]["Country"] != null)
countryCode = HttpContext.Current.Response.Cookies["Localization"]["Country"];
if (!string.IsNullOrEmpty(HttpContext.Current.Request.QueryString["c"]))
countryCode = HttpContext.Current.Request.QueryString["c"];
if (countryCode == "")
countryCode = "US";
sLocale = HertzRent2Buy.DataProvider.ListData.GetLocale(countryCode);
LocalizationInfo ret = new LocalizationInfo();
ret.Country = countryCode;
ret.Locale = sLocale;
return ret;
}
public struct LocalizationInfo
{
public string Country;
public string Locale;
}
Now when I run the project and in query string I set [URL] then for the very first page(home page itself) it shows me French translation,but on subsequent page,that query string parameter ?c=FR is lost and hence it shows be English translation not French translation since it does not pickup French resx file.If I manually append ?c=FR in subsequent page then it shows the French translation.Is there is way how I can make that query stringparameter available in all pages.Structure is there to hold Country and locale variables. In all pages I am calling GetLocalizationInfo() method as follow
LocalizationInfo info = some.DataProvider.Globalization.GetLocalizationInfo();
And I create instance info to pass locale and country as parameter. GetProductDetails(id,info.Country,info.locale). why my query string parameters get lost on subsequent pages.
I want to add a list to the cache and I would like it to stay there as long as posible.
Is there a way adding something to the cache permanently?
how do i set the exiry date of a cached object?
Is it possible to cache a hole site?ll its pages, images, js, db data etc...If so is it go/bad idea?
View 2 RepliesI have some weird problem. We're using Windows Server 2008 R2 x64 (8 Cores and
8 GB RAM) with IIS 7.5 and ASP.NET MVC 2.
I always cache (simple) stuff via the context cache and it seems like 9 out of 10 immediate page refreshs the Cache["MyKey"] is always null, even though there's no memory limit set on the pool and the server has lots of free memory.
I add expiring data via:
[Code]....
When just doing: Cache.Insert("MyKey", myObject); or Cache["MyKey"] = myObject; I get the same result (cache is almost always null for that key).
As you can see I added a callback, which writes the CacheItemRemovedReason to a text file, and the text file says CacheItemRemovedReason.Removed for MyKey. The doc for CacheItemRemovedReason.Removed says, that I call Remove/Insert on it, even though in my whole project there's no "Remove"-calls, just simple if(Cache["MyKey"] == null) {Cache["MyKey"] = ...} stuff.
I tried adding:
<caching><cache disableMemoryCollection = "true" disableExpiration = "true" privateBytesLimit="0" percentagePhysicalMemoryUsedLimit="90" privateBytesPollTime="00:02:00" /></caching>
to my web.config file in the System.Web-section but nothing changed :(
why Cache["MyKey"] is almost always null?
I have a treeview that shown groups and their sub groups in my usercontrol. I pass the parent GroupId to the usercpntrol from the page. I want to cache nodes of treeview for every Parent Group Id. My code is works good for first time and fill the cache object . after refresh the page, cache object fill the TreeNodeCollection succesfully and everything is ok. But after another refresh, cache object is not null but is empty and TreeNodeCollection.count is zero(0). What's my fault? Please help me to solve this problem.
[Code]....
Iam adding SqlCacheDependency programmatically but Iam not able to invalidate the cache.
Iam using the following Output cache directive in the .aspx page
[Code]....
The code in the .aspx.cs file is:
[Code]....
I am looking for an elegant (i guess as elegant as it can be) solution to caching a users profile on login (whether it is session, cache, cookie, etc) and keeping it in sync when a users profile is changed. How do you guys handle this? Just simply call a Flush() method in your Save() method that invalidates the cache?
View 1 RepliesIs it possible to share a cache between multiple ASP.NET applications? The apps may reside on different servers. How can one achieve this requirement?
View 1 RepliesI know the big difference, but one thing is confusing me. Cache works only on a single machine on webfarm and to make it globally we use Velocity or memcache.So is static does same, or is it already work globally ?
eg
Cache["someid"] = "value"; //this will only work on single machine cache,
static string abc = "value"; // will this work on single machine or globally ?
Is it suitable to store some app settings in Application Cache? I mean settings that might need to be changed frequently...
View 1 RepliesI have a senario where i want to add the data into cache but only 100 records should be added.
Is their any predefined functions available.
Basically i dont want to write if else condition whiile adding the records wether its 100 records present or not.
I have a page that has a grid view.
The user selects a person from a dropdown list and then clicks a button that adds the users info as
a new row in the grid.
Adding the new row involves doing an insert and rebinding the grid which is a slow process.
How do I use the cache to see the grid update right away?
I wanted to know the best practice for caching data. Say I have some control example a dropdown list which is populated from my db. Now this dropdown is global and used across many pages. I was thinking of not going to database everytime to fetch data for this dropdown and put the result in Cache. And then populate this dropdown from cache. Is this a good practice or if there is another approach. Can I store my datareader in cache and then use it globally. Also could I do this in application start event?
View 4 Repliesasp.net.2 I am trying to update the website but the cache kips on working. How can I relies the cache on site.
View 7 RepliesI am Caching dataset in my application, the issue is when there is a large set of data the OutOfMemory exception is thrown.
I want to check for the this exception and when it happens I want to remove the cache object.