C# - Write To File When Cache Expires?
Feb 8, 2010How to write to a file the content of cache when Cache expires.
View 1 RepliesHow to write to a file the content of cache when Cache expires.
View 1 Repliesi host my web site into a shared hosting and i need to set expiration header using iis but i didn't find my hosting allow this feature so , is there any way to set it into my web configuration or into my code ??
View 2 RepliesI'm running a website on a SQL 2008 database. At the moment most of my data is in cache but what I want to do is be able to update the data on a regular basis, say every 3 hours, maybe more frequently. Obviously I can set the cache to expire and pick up new data, but how can I replace part of the database (because some tables are populated by the user) in the background, so that when the cache expires the new data is picked up?
I notice when I upload data through VS, it wont let me upload if the DB is in use - so how do I get round issues like this?
I need to add an expires header to my .less files in IIS7. Not quite sure how to do it.
View 2 RepliesI am trying to delete Files and Directory through ASP.NET3.5 (C#)web application.
But as soon as DirectoryFile is deleted It automatically redirects me to Login Page.
It means I am lossing my session on deleting File/Directory.
I have created a demo application to read data from the CSV and after read the data from the csv file there is a button to save all the CSV loaded data in the database. When i load the large CSV (2MB) file . after load all the data from the file i will save all the data in datatable and store in view state.
when i click on another Link the page doesn't work and page become expires. Where is the problem.
Its simple doing read CSV file .. file stream closed. store all the csv data in view state. and click on the another link save into the database. but click save database button page expire.
there are an access file . >> "test_file.mdb"
there are a table in mdb file .>> "test_table1"
and there are 2 columns in "test_table1" >> "name" and "age"
and i have 2 textbox in my web form . >> "textbox_name" and "textbox_age"
and i have a button for save textbox_name.text and textbox_age.text in mdb file .
i need adox vb code for save textboxs data in mdb file .
I read few xml files from a location and cache them using Http context cache. Anytime the xml files changes i have to do a IISReset to view the latest changes.
I use this
System.Web.HttpContext.Current.Cache
I have to use the caching as i don't want to read all the xml files all the time. i read it once and caches them for a day. They get reset whenever apppool recyles or anyone manualy do a IISReset.
Is there anyway in asp.net to invalidate the cache if someones changes the xml file.
I have asp.net application. I'm using external javascript files in my application. When I test my site with page speed tool from google it says that following resources are missing a cache expiration. also some of the images and css files.
View 2 RepliesI use MenuXML.xml file as datasource of XmlDataSource control in my MasterPage.master, it will be reloaded again and again.
View 1 RepliesI configured cache dependency on a file on the server, the cache dependency event stops responding to file changes once in 2 or 3 days. After I perform IISReset on the server, it works fine.
View 1 RepliesWe are writing a portal and like every portal we store html data in Db fro Modules. So I thought that I can cache each module in files. I use OnLoad event to check if there is a cache file for this Module, use that and else create cache file:
if (!IsPostBack)
{
string Path = AppDomain.CurrentDomain.BaseDirectory + "CacheModules" + ModuleId + ".dat";
if (File.Exists(Path))
{
Controls.Clear();
[Code]....
what do you think? retrieving data from file can slow server more than retrieving data from DB?
where external files / images are being loaded from. By this I mean that I'm aware that external JS files / Images are cached on the first load of a page. What I'd like to have is a tool that confirms to me that on subsequent requests these files are in fact being loaded from the users cache rather than downloading the file again.
View 3 RepliesI have a navigation on my site that retrieves it's links from xml file..Does asp do this everytime a link is clicked on my site..I'm using a master page and the navigation code within the master page is below..So is the xml file opened and read each and every time? any way to cache it or something.below is my code
[Code]...
We are writing a portal and like every portal we store html data in Db fro Modules. So I thought that I can cache each module in files. I use OnLoad event to check if there is a cache file for this Module, use that and else create cache file:
[Code]....
I am using swfupload to upload files on a website, the problem that every time the user open the page which contains the upload button, the page loads completely then the flash file start loading from scratch every time the user visit the page with no cache. Is there a way to preload and cache .swf files in my asp.net page?
View 3 Replieshow to remove css,java script file from browser cache for IE6 and IE7 ?
View 4 Repliesi uploaded a new version of my website. and some users complained that they see some page i changed very very wrong. anyway after a refresh they see it fine. i think its because my css file got cached by them on an earlier time...why isnt the browser downloading the css file by himself on first load?..
View 4 RepliesWe are writing a portal and like every portal we store html data in Db fro Modules. So I thought that I can cache each module in files. I use OnLoad event to check if there is a cache file for this Module, use that and else create cache file:
if (!IsPostBack)
{
string Path = AppDomain.CurrentDomain.BaseDirectory + "CacheModules" + ModuleId + ".dat";
if (File.Exists(Path))
{
Controls.Clear();........
Is it correct to implement my caching object like this in my controller :
[code]....
And I Use it like this :
[code]....
TL;DR: Which is likely faster: accessing static local variable, accessing variable stored in HttpRuntime.Cache, or accessing variable stored in memcached?At work, we get about 200,000 page views/day. On our homepage, we display a promotion. This promotion is different for different users, based on their country of origin and language.
All the different promotions are defined in an XML file on each web server. We have 12 web servers all serving the same site with the same XML file. There are about 50 different promotion combinations based on country/language. We imagine we'll never have more than 200 or so (if ever) promotions (combinations) total.
The XML file may be changed at any time, out of release cycle. When it's changed, the new definitions of promotions should immediately change on the live site. Implementing the functionality for this requirement is the responsibility of another developer and I.
Originally, I wrote the code so that the contents of the XML file were parsed and then stored in a static member of a class. A FileSystemWatcher monitored changes to the file, and whenever the file was changed, the XML would be reloaded/reparsed and the static member would be updated with the new contents. Seemed like a solid, simple solution to keeping the in-memory dictionary of promotions current with the XML file. (Each server doing this indepedently with its local copy of the XML file; all XML files are the same and change at the same time.)
The other developer I was working holds a Sr. position and decided that this was no good. Instead, we should store all the promotions in each server's HttpContext.Current.Cache with a CacheDependency file dependency that automatically monitored file changes, expunging the cached promotions when the file changed. While I liked that we no longer had to use a FileSystemWatcher, I worried a little that grabbing the promotions from the volitile cache instead of a static class member would be less performant.
(Care to comment on this concern? I already gave up trying to advocate not switching to HttpRuntime.Cache.)
Later, after we began using HttpRuntime.Cache, we adopted memcached with Enyim as our .NET interface for other business problems (e.g. search results). When we did that, this Sr. Developer decided we should be using memcached instead of the HttpRuntime (HttpContext) Cache for storing promotions. Higher-ups said "yeah, sounds good", and gave him a dedicated server with memcached just for these promotions. Now he's currently implementing the changes to use memcached instead.
I'm skeptical that this is a good decision. Instead of staying in-process and grabbing this promotion data from the HttpRuntime.Cache, we're now opening a socket to a network memcached server and transmitting its value to our web server.This has to be less performant, right? Even if the cache is memcached. (I haven't had the chance to compile any performance metrics yet.)On top of that, he's going to have to engineer his own file dependency solution over memcached since it doesn't provide such a facility.
Wouldn't my original design be best? Does this strike you as overengineering? Is HttpRuntime.Cache caching or memcached caching even necessary?
We have a wfc layer that wraps the business classes and database access and use a client that lives on the database layer. Amongst our group we are attempting to form standards. Some want to have the client call the web method and pass the page they are requesting and the page size. Pass that to the database and then page in SQL Server use RowNum.Some want to cache the full list of objects in http cache on the service tier and page in memory. They concern here is memory use on the server.
Which would be best for a medium number of users with potentially large number of records to manage (say 30K) Is it better to cache them all in memory and work from there or page at the database as the application scales?
What are the "optimal" parameters for creating an AppFabric cache when you will be storing session state in the cache? MSDN Cache-Related Commands
Powershell command line:
New-Cache [-CacheName] <String> [-Eviction <String>] [-Expirable <String>] [-Force [<SwitchParameter>]] [-NotificationsEnabled <String>] [-Secondaries <Int32>] [-TimeToLive <Int64>]
[code]...
Since I don't want my sessions to be removed unless the session has been abandoned either via code or Session Timeout...For eviction, I would think "None" and for expireable, I would think False.I have tested and calling Session.Abandon does remove the object from the cache. I have also tested to see if by extending my session, the session object in cache is also extended. This does seem to work the "correct" way.
We have a data driven ASP.NET website which has been written using the standard pattern for data caching (adapted here from MSDN):
public DataTable GetData()
{
string key = "DataTable";
object item = Cache[key] as DataTable;
[code]...
The trouble with this is that the call to GetDataFromSQL() is expensive and the use of the site is fairly high. So every five minutes, when the cache drops, the site becomes very 'sticky' while a lot of requests are waiting for the new data to be retrieved.
What we really want to happen is for the old data to remain current while new data is periodically reloaded in the background. (The fact that someone might therefore see data that is six minutes old isn't a big issue - the data isn't that time sensitive). This is something that I can write myself, but it would be useful to know if any alternative caching engines (I know names like Velocity, memcache) support this kind of scenario. Or am I missing some obvious trick with the standard ASP.NET data cache?
We are using HttpRuntime.Cache API in an ASP.NET to cache data retrieved from a database.
For this particular application, our database queries feature a LOT of parameters, so our cache keys look something like this:
table=table1;param1=somevalue1;param2=somevalue2;param3=somevalue3;param4=somevalue4;param5=somevalue5;param6=somevalue6... etc...
we have so many parameters that the cache key is several hundred characters long. is there a limit to the length of these cache keys? Internally, it is using a dictionary, so theoretically the lookup time should be constant. However, I wonder if we have potential to run into some performance/memory problem.