.net - Browser Store The Cache Item?
Jan 24, 2011If i enable client side cache in my asp.net application where it store that cache controls in my computer
View 1 RepliesIf i enable client side cache in my asp.net application where it store that cache controls in my computer
View 1 RepliesIt should store plain HTML fragments of a page like the standard Output cache in asp.net .The HTML may contain dynamic content from a database.When an object is updated in the database all the cached HTML fragment containing that particular object should be destroyed and re-cached next time it will be requested.
There is a separate admin tool to handle all data in the database so I can easy store the Id's in a cachetable when an object is invalid. I can also make a request to a page that destroy all cached HTML fragment for that object.
But when I write the markup, how could I do to store and retrieve a particular segment from the cache? Of cause I could do this in code behind and have the markup in a string but I don't want that. I want to have the markup as intact as possible.
I've seen numerous examples of people storing DataTables into the Cache, but I am just wondering, do the same rules apply to the Cache that apply to the Session? The one rule I am most concerned with is:Do not store unserializable objects into the Session. Just because you can doesn't mean it is guaranteed to work So ultimately my question is:Can you store unserializable objects into the Cache?I reasearched this for a while, reading numerous posts and even reading the chapter about Cache in my ASP.NET 3.5 book and I cannot find it anywhere.I am going to put my DataTable into a DataSet then into the Cache,but is this necessary?
View 3 RepliesI have a DataTable with about 10,000 rows in it.
I would like to store this data once for aspx page. When the user selects different options in the page, data is further selected from the already stored DataTable.
I tried using the ViewState, but as soon as the data grows beyond 100 rows, performance degrades.
one of my stored procedure has 4 select statments and gets data from large tables,
can i explicitly store result of stored procedure into buffer cache?,
and when calling stored procedure, than returns data from buffer cache?
i'm developing a "small" warehouse-management WebApplication for few users(5-10 parralel) but with a complex authorization system(checking if pages,menus,TabPanels, UserControls and even single controls are visible or enabled) and permanent and frequent access. Because i've only limited experiences with the ASP.Net MembershipProvider, i'm unsure what's the best approach for following goal:
I want to hold all users, roles and frequently used masterdata in the Cache(in a Dataset). Hence every readonly access should be faster and causes less traffic than always using the database. On updates,deletes and inserts i would update the cached dataset and also the database.Can i use or extend the SqlMembershipProvider to achieve this goal and if possible how?Should i use the stored-procedures from asp.net or simply use the standard CreateUser, GetUser, DeleteUser-functionality? Does this approach makes sense at all?
I would like to know what is the best way to include Cache-Control: no-cache, no-store in authenticated pages in DotNetNuke 5.4.4. In fact, I want to prevent caching in IE6/7 and FireFox as well.
View 1 RepliesEDIT: Purpose of this Website: Its called Utopiapimp.com. It is a third party utility for a game called utopia-game.com. The site currently has over 12k users to it an I run the site. The game is fully text based and will always remain that. Users copy and paste full pages of text from the game and paste the copied information into my site. I run a series of regular expressions against the pasted data and break it down. I then insert anywhere from 5 values to over 30 values into the DB based on that one paste. I then take those values and run queries against them to display the information back in a VERY simple and easy to understand way. The game is team based and each team has 25 users to it. So each team is a group and each row is ONE users information. The users can update all 25 rows or just one row at a time. I require storing things into cache because the site is very slow doing over 1,000 queries almost every minute.
So here is the deal. Imagine I have an excel EDIT(Excel is just an example of how to imagine it, I don't actually use excel) spreadsheet with 100 columns and 5000 rows. Each row has two unique identifiers. One for the row it self and one to group together 25 rows a piece. There are about 10 columns in the row that will almost never change and the other 90 columns will always be changing. We can say some will even change in a matter of seconds depending on how fast the row is updated. Rows can also be added and deleted from the group, but not from the database. The rows are taken from about 4 queries from the database to show the most recent and updated data from the database. So every time something in the database is updated, I would also like the row to be updated. If a row or a group has not been updated in 12 or so hours, it will be taken out of Cache. Once the user calls the group again via the DB queries. They will be placed into Cache.
The above is what I would like. That is the wish.In Reality, I still have all the rows, but the way I store them in Cache is currently broken. I store each row in a class and the class is stored in the Server Cache via a HUGE list. When I go to update/Delete/Insert items in the list or rows, most the time it works, but sometimes it throws errors because the cache has changed. I want to be able to lock down the cache like the database throws a lock on a row more or less. I have DateTime stamps to remove things after 12 hours, but this almost always breaks because other users are updating the same 25 rows in the group or just the cache has changed.This is an example of how I add items to Cache, this one shows I only pull the 10 or so columns that very rarely change. This example all removes rows not updated after 12 hours:
DateTime dt = DateTime.UtcNow;
if (HttpContext.Current.Cache["GetRows"] != null)
{
[code]...
In my site i m redirecting to login page when i m clicking on loguot button. before that i have written follwing code for clearing cache/history-
Session.Clear();
Session.Abandon();
Response.Cache.SetCacheability(HttpCacheability.NoCache);
Response.Cache.SetExpires(DateTime.Now.AddSeconds(-1));
Response.Cache.SetNoStore();
but when i m pasting previous page url in address bar then it is showing that page. i dont want to show that page.
I have issue about multiple login in asp.net.
Case this happen:
User X login as "user1" in web browser.
Then user Y also login as "user1" also in another web browser.
User Y got error message "Another user log in some account".
That is work as expected.
If X, close their web browser. Then try again to login in as "user1".
X get also get "Another user log in some account".
So i trying debug then i found session is remove when web browser is close, but cache still remaining in web browser.
how to clear cache when user close their browser, (not tab).
I have a menu on my site that changes depending on whether the user is logged in or not. With browser caching, the menu "gets stuck" in either state and is confusing to users.They'll login, but the menu won't update because it's still cached in the unauthenticated state... and vice versa.How is this typically handled? Can we refresh the user's browser cache from our code? Or do I just not allow browser caching? (would rather use it, very nice bump in speed).UpdateHere's how I set client-side, browser caching in my asp.net mvc 2 app:
public class CacheFilterAttribute : ActionFilterAttribute {
/// <summary>
/// Gets or sets the cache duration in seconds. The default is 10 seconds.
[code]...
i am using ScriptManager in my webpage. i am also using a lot of pagemethods in this page. When i look at the viewsource of the browser after the page has been rendered i find a lot of javascript which has been generated by the scriptmanager.
how can i browser cache all these scripts so that they are not loaded everytime the page is rendered.
Not sure if i'm posting in the right forum, if not, please move it...i have the following issue... I want to "disable" browser's back button. Seems it's not possible, but using cache.setcacheability and timing it, kinda disables the option of navigating back. I need this because in some pages of my webpage, i keep values in a Session variable so when a page loads, i need to check that variable, and, if navigating back, cant do that. I also "set cache to false" because if someone closes session, and i allow cache, someone else could handtype a url in that same pc and see the page without login (though if he/she tries to navigate through it will be kicked out because when loading a new page, i'll know that he/she is not logged) but i dont want to allow even that,
that's why cache is disabled. The problem is that loading over and over again my masterpage (header, footer, menu and stuff) is going to slow down the webpage, because every time there's a request, the page has to be sent again completely. So, is there something like a "mix" mode where i can allow cache just for a few things? If not, what's the best practice to achieve both things i'm trying: speed and security?
i am using Jcrop to give users the option to crop there images, i have hit a small caching problem.
if you open an image which is already on the server and crop it. my jcrop works and crops the image fine but when i reload the image the old version is displayed. i have this inside an update panel.
so is there a way of removing the browsers cache before i reload the image?
As part of the deployment, we need to have a maintenance page displayed for our web site. The issue we are experiencing is that when the maintenance page is active and ISA rule is configured to redirect to the maintenance page. We see the following behavior:
The user is not displayed the maintenance page, but is displayed a splash page with the English and French buttons. Click on any button displayed a 404 error regarding the URL / File not found. After clearing the local cache and reloading the browser, the maintenance page is displayed successfully.
The same behavior is noticed one we have disabled the ISA rule for the maintenance page and re-enabled the ISA rule for the the Website. The user is presented with the 404 error and once the cache is deleted, the user can see the Website.The issue is a cause by browser retrieving the website pages from the cache and not directly from the webserver.
I have a form that has n dropdownlists, and the form has gotten so big that it now weights over 1.2MB...I was wondering, is it possible to load the datasource items once in the browser and have all related dropdownlist use that single datasource to conserve bandwidth?Something like, load datasource into div, and on page_load have all dropdownlist load from that div...
View 1 RepliesI have the following .NET VB code to set and read objects in cache on a per user basis (i.e. a bit like session)
'' Public Shared Sub CacheSet(ByVal Key As String, ByVal Value As Object)
Dim userID As String = HttpContext.Current.User.Identity.Name
HttpContext.Current.Cache(Key & "_" & userID) = Value
End Sub
Public Shared Function CacheGet(ByVal Key As Object)
Dim returnData As Object = Nothing
Dim userID As String = HttpContext.Current.User.Identity.Name
returnData = HttpContext.Current.Cache(Key & "_" & userID)
Return returnData
End Function
I use these functions to hold user data that I don't want to access the DB for all the time. However, when the data is updated, I want the cached item to be removed so it get created again.
How do I make an Item I set disappear or set it to NOTHING or NULL?
how to remove css,java script file from browser cache for IE6 and IE7 ?
View 4 RepliesI 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.
View 1 RepliesI am using Html.RenderAction<CartController>(c => c.Show()); on my master Page to display the cart for all pages. The problem is when I add an item to the cart and then hit the browser back button. It shows the old cart (from Cache) until I hit the refresh button or navigate to another page.
I've tried this and it works perfectly but it disables the Cache globally for the whole page an for all pages in my site (since this Action method is used on the master page). I need to enable cache for several other partial views (action methods) for performance reasons.
I wouldn't like to use client side script with AJAX to refresh the cart (and login view) on page load - but that's the only solution I can think of right now.
I have an external javascript file which I include to my page on the code behind (as seen below).
My problem is, when I my page makes a postback (not partial one), I check the loaded scripts by using FireBug, and I cannot see the javascript file in the list after the post back. I asusmed once it is included to page on the first load, browser will be caching it so that I do not need to re-include it.
What am I doing wrong?
[code]...
Assume a simple aspx data entry page in which admin user can upload an image as well as some other data. They are stored in database and the next time admin visits that page to edit record, image data fetched and a preview generated and saved to disk (using GDI+) and the preview is shown in an image control.
This procedure works fine for the first time however if the image changes (a new one uploaded) the next time the page is surfed it shows previously uploaded image. I debugged the application and everything works correct. The new image data is in database and new preview is stored in Temp location however the page shows previous one. If I refresh the page it shows the new image preview. I should mention that preview is always saved to disk with one name (id of each record as the name).
I think that is because of IE and other browsers use client cache instead of loading images each time a page is surfed. I wonder if there is a way to force the client browser to refresh itself so the newly uploaded image is shown without user intervention.
when i first run my applcation some time its showing the data from cache.i want to avoid it in first time .
i want to cache my all images/css/js file what is the efficient way to do it.
i have lot of images folder /js /css files.
I think it is a problem that SqlCacheDependency may invalidate a cache item while it is being set:
function getCacheItem()
if cacheitem is empty
cacheitem = something
AND AT THIS POINT SqlCacheDependency INVALIDATES THE cacheitem
end if
return cacheitem
end function
how can we prevent this? Is it somehow possible to specify a ReaderWriterLockSlim for the SqlCacheDependecy to use?
My requirement is to get the file size in client side. there is no problem in FF but in IE you can't do that unless u r using an activeX object. So we thought of putting it in browser cache and reading the file size from there and when we post it to the server we will be taking it from the cache and send it to the server.
View 4 Replies