Web Forms :: Clear Cache On User Control With Vary By Id Parameter
Aug 1, 2010
I have a page that deploys a user control to display an article. The page will show a different article depending on the ID parameter fed in via querystring, and there are many thousands of articles in our db. Here is the problem: I need to cache the user control to improve performance. But editors constantly need to go in and make changes/corrections, which they want to appear instantly on the site. Is it possible to clear the cache for a specific article only once it has been edited? ie for the request article.aspx?id=123? If so how would I do this? Otherwise, if the cache is cleared for all our content every time a single piece of content is edited, it will defeat the object of caching in the first place. I have tried using a cache key as recommended here: [URL] However, this apporach suffers from the drawback mentioned above. have also seen that you can set caching up to be cleared by changes to the db. However, the particular table concerned holds content for a number of other sites and would also have the same disadvantage.
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.
I have create user wizard control and i put validation control for all field but when i close user control that validators dint clear in firefox or but clear in IE
I am inserting and updating the image from html file upload to my gridview / insertion goes fine , but when i update the image by clicking on edit using onselectedindexchanged event of gridview, I fetch the image then change it with other image, with this simultaneously i rebind the gridview, in the beck-end everything goes fine it updates and replaces the image but in gridview it won't show after updated. I am using postbacktrigger on my submit button, but gridview won't refreshes, until and unless i click on address bar and press ENTER , or until i won't press CTRL+F5 to clear the browser cache.
Is it possible to dynamically (and generically) clear the state of all of a user control's child controls? (e.g., all of its TextBoxes, DropDrownLists, RadioButtons, DataGrids, Repeaters, etc -- basically anything that has ViewState)
I'm trying to avoid doing something like this:
foreach (Control c in myUserControl.Controls) { if (c is TextBox) { TextBox tb = (TextBox)c;
[Code]....
...but obviously that doesn't exist. Is there any easy way to accomplish this dynamically/generically?
I created a custom 404 page and set its output cache duration to 7200 seconds (the pages themselves aren't updated more than twice a day, so I figured this was reasonable).
I ran into an error on the live side of things when I uploaded it, and I'm trying to debug and solve it. The problem is that I can't seem to figure out how to get rid of the cache itself, which definitely appears to be getting in the way. The reason I say that relates to my stack trace:
Server Error in '/' Application.
Input string was not in a correct format.
Description:
An unhandled exception occurred during the execution of the current web request. review the stack trace for more information about the error and where it originated in the code. Exception Details: System.FormatException: Input string was not in a correct format.
Source Error:
[Code]....
Stack Trace:
[Code]....
I've been trying to debug the ExtractURLComponents sub, and even commented out every line in it.
[Code]....
I'm still getting an error, even with every line of the sub commented out. So this is why I'm thinking it's got something to do with the cache. I tried clearing it with a different page using this:
[Code]....
I'm not sure if there's anything I'm supposed to do to clear the cache.
My web client requires client-side output caching since it makes use of its own Back and Forward buttons (which basically just call the browser back/forward buttons).
The issue I'm having, however, is (of course) when the user signs out of the app. The client-side output cache remains so anyone can click the "back" button and it appears to be signed in again. I've researched a few solutions, but most involve server-side output caching or no output caching at all.
I've had success with server caching and HttpResponse.RemoveOutputCacheItem, but unfortunately I need the client side caching.
Is it at all possible to clear this client side output cache upon logging out?
How do I force a control+F5 (deleting cache) when updating an application? The users will not do this so I need to force this. Can we use some kind of flush method checking version or...?
I would like to reset/clear an item in the Cache, but without resetting the application or writing a specialized page just for this. ie, a non-programmatic solution.
I have various caches on my compiled website. However, I need to clear all these caches. Is there a way of doing this (without having to restart the server!)?
have two user controls on one aspx page. UC1 has a grid which contains a link button column which user clicks. Based on the value of clicked cell, I need to show some data into UC2.How do I pass data from UC1 to UC2? How do I invoke a function of UC2 from UC1?
I am using CreateUserWizard control on my admin page.After successfully creating a user with the control, it displays "Complete Your account has been successfully created."After clicking on continue button it sets the ActiveStepIndex Correctly.The problem is, while it sets the ActiveStepIndex correctly, it retains the old user account credentials.
How can I manually clear ASP.NET server cache related to a give application/web site like what can be done on IE to clear browser cache for a give domain? BTW, I am using II7.
I am having a probem when logout from my website.When i copy the URL page which is the page after login,and paste it again in browser,i can direct it to the page even though i alr logout. I not using any buit in asp control,and the logout button link that i create is place at Master Page.
I add cache to my application, I have a page which contains several User Control, my problem is I just want to cache the data returned from Controller, but not want to cache all the page content. Since one of my user control is login control, if I cache all the result, then it will behave incorrectly.
my problem is :
1.Is it possible to just cache the data returned from controller ?
2.If a page is cached, can I force a control in the page to be uncached ?
I have a website that i did some time ago now they request some new features and i did some changes in some javascript files, but when i publish the clients that use the IE have problems with cache so in they browser they have old version of javascript. How can i clear the client cache so when they visit website they use latest javascript files that i modify.
I'm trying to cache user controls and on some pages i want to cache single objects. There are multiple ways of implementing caching, and my head is breaking over it.
The way I see the caching options now:
You have the PartialCaching option which is set to cache the control for 30 minutes, and after that it clears itself... You have the varyByParam to identity the page by its querystring paramaters... or other vary options
But i just cant find an appropriate way to add caching to a control, and be able to clear the caching programmatically when i update one of the objects used in the control from the backend.
You can do HttpContext.Current.Cache.Insert(), which accepts a key on which you can destroy the caching item later by using remove... This can save objects in cache but can you use options like varyByParam?
My questions are burnt down to two:
Is there a way to clear the caching on specific user controls from the code? If yes, can this be done according to the varyby options? How would the object caching respond to logged in users or anonymous users using Insert()?
EDIT: I'm caching multiple things.... And I'm really flabbergasted in which choice to make referring to caching. Can the Cache.Insert be varied by Parameters?
The main problem is peopling editing things from the backend, which needs to trigger an event that reinstantiates or clears all caching items referring that object.