473,796 Members | 2,495 Online
Bytes | Software Development & Data Engineering Community
+ Post

Home Posts Topics Members FAQ

Partial-page cache getting repeatedly invalidated

Hi,

We have a control Logo.ascx, which queries the DB to obtain the logo
image from a blob in the DB and renders it on the page.
The logo does not change frequently and hence we have tried to create
a cache for it:
<%@ OutputCache Duration="600" VaryByParam="No ne"
SqlDependency=" EMAMDB:EMAM_Cli ents" %>
The cache will thus be invalidated every 10 min and also depending on
the changes to the EMAM_Clients table which has only one entry.

The dependency is set as follows:
<caching>
<sqlCacheDepend ency enabled="true" pollTime="1000" >
<databases>
<add name="EMAMDB" connectionStrin gName="EMAMConn ectionString"/>
</databases>
</sqlCacheDepende ncy>
</caching>
The polling thus happens every second.

So we expect that if we refresh the page repeatedly once, the DB
stored proc that retrieves the logo should not be called each time.
However this is not the observed case. Almost every alternate refresh
causes the DB to be queried. We have also traced the code to verify
this. We have seen the
dbo.AspNet_SqlC achePollingStor edProcedure being called every second,
which means the Changes do get tracked, and we know for sure that
nobody is changing the table.

Why then is the cache invalidated every now and then?

Thanks,
Yash

Sep 30 '07 #1
1 1710
Just realized that this problem occurs only on the in-built web server
in VS 2005. The application behaves as expected when run in IIS.

-Yash


zedOn Sep 30, 6:43 pm, yas...@gmail.co m wrote:
Hi,

We have a control Logo.ascx, which queries the DB to obtain the logo
image from a blob in the DB and renders it on the page.
The logo does not change frequently and hence we have tried to create
a cache for it:
<%@ OutputCache Duration="600" VaryByParam="No ne"
SqlDependency=" EMAMDB:EMAM_Cli ents" %>
The cache will thus be invalidated every 10 min and also depending on
the changes to the EMAM_Clients table which has only one entry.

The dependency is set as follows:
<caching>
<sqlCacheDepend ency enabled="true" pollTime="1000" >
<databases>
<add name="EMAMDB" connectionStrin gName="EMAMConn ectionString"/>
</databases>
</sqlCacheDepende ncy>
</caching>
The polling thus happens every second.

So we expect that if we refresh the page repeatedly once, the DB
stored proc that retrieves the logo should not be called each time.
However this is not the observed case. Almost every alternate refresh
causes the DB to be queried. We have also traced the code to verify
this. We have seen the
dbo.AspNet_SqlC achePollingStor edProcedure being called every second,
which means the Changes do get tracked, and we know for sure that
nobody is changing the table.

Why then is the cache invalidated every now and then?

Thanks,
Yash

Oct 1 '07 #2

This thread has been closed and replies have been disabled. Please start a new discussion.

Similar topics

7
2134
by: Lionel B | last post by:
Greetings. The following code compiles ok and does what I'd expect it to do: ---------- START CODE ---------- // test.cpp
9
2534
by: Gomaw Beoyr | last post by:
Two question about the "partial classes" (in the next wersion of ..NET). Question 1 ========== Will partial classes (in the next version of C#) have to be declared "partial" in ALL places. I.e. do we have to need to write:
16
423
by: Madhuri Mittal | last post by:
Hi, I know that we can define a class over multiple source files using the keyword 'Partial' in C# within a project. Can we define the class over multiple projects using the 'Patial' keyword- I know VB.Net does not allow it, however was wondering if it's possible using C#? Madhuri Mittal
6
324
by: Ronald Mai | last post by:
In my opinion, Ellipsis might be in the middle, not only in leftmost or rightmost, so a placeholder approach can be much more flexible and convenient. Here is a reference implementation: _ = lambda x: x.pop(0) def partial(func, *args, **keywords): def newfunc(*fargs, **fkeywords):
2
1268
by: Billy | last post by:
In .Net 2, when I have created a strongly typed dataset of a SQL table and then 'viewed' the code from the RHM menu. I am taken to the new partial class; as expected, but why do I have a partial class within a partial? plus if I was to inherit an interface then what partial class should I place the interface on, the outer partial class or the inner partial class? Regards Billy
1
2638
by: Bishoy George | last post by:
In a web application using asp.net 2.0 All my classes are partial classes. - I noticed that partial class cannot be inherited... is that true? - I tried to remove the partial keyword , and I receieved this error Error 1 Missing partial modifier on declaration of type 'NagyResearch.Q_A.Q.QuestionnairePage'; another partial declaration of this type exists D:\Web Sites\Local
3
3196
by: erich | last post by:
In VS2005, creating a new form creates the form class and a partial (frm*.designer.vb) class file and displays the partial class beneath the main form frm*.vb, which is great. However, when extracting the designer code elements from an existing form class into its own partial class, (or creating new ones) the partial class is displayed in the Solution Explorer under the Project name, that is, at the same level as the file from which it...
1
2948
by: chungiemo | last post by:
Hi thought I would do another thread as this one is a bit different from the previous problem I am looking for a solution to the relating problem Comparing 2 access databases with 2 tables, they are non-related tables, but should have been related by the ID, and reason for this was due to the poor data entry standards. I am trying to compare both databases with a Partial ID in Table 1 and match it to the Full ID in Table 2 with the...
2
2128
by: Peted | last post by:
Hi, im moving a project from vs2005 to vs 2008. is doing so i have come across a compiler error regarding partial classes that i dont understand if anyone can explain it to me please the orig defintion that compiles and runs fine in vs2005 is bellow......
10
1540
by: JDeats | last post by:
So I have a class that spans over two partial classes in code, here's an example (do not read much into this, the code is of no practical use, this is just a simple example of where my confusion occurs). // Inside SharedClassExample1.cs public partial class SharedClassExample { public List<stringBooksOnShelf { get; set; } public List<stringBooksOnDesk { get; set; }
0
10231
jinu1996
by: jinu1996 | last post by:
In today's digital age, having a compelling online presence is paramount for businesses aiming to thrive in a competitive landscape. At the heart of this digital strategy lies an intricately woven tapestry of website design and digital marketing. It's not merely about having a website; it's about crafting an immersive digital experience that captivates audiences and drives business growth. The Art of Business Website Design Your website is...
1
10176
by: Hystou | last post by:
Overview: Windows 11 and 10 have less user interface control over operating system update behaviour than previous versions of Windows. In Windows 11 and 10, there is no way to turn off the Windows Update option using the Control Panel or Settings app; it automatically checks for updates and installs any it finds, whether you like it or not. For most users, this new feature is actually very convenient. If you want to control the update process,...
0
10013
tracyyun
by: tracyyun | last post by:
Dear forum friends, With the development of smart home technology, a variety of wireless communication protocols have appeared on the market, such as Zigbee, Z-Wave, Wi-Fi, Bluetooth, etc. Each protocol has its own unique characteristics and advantages, but as a user who is planning to build a smart home system, I am a bit confused by the choice of these technologies. I'm particularly interested in Zigbee because I've heard it does some...
0
9054
agi2029
by: agi2029 | last post by:
Let's talk about the concept of autonomous AI software engineers and no-code agents. These AIs are designed to manage the entire lifecycle of a software development project—planning, coding, testing, and deployment—without human intervention. Imagine an AI that can take a project description, break it down, write the code, debug it, and then launch it, all on its own.... Now, this would greatly impact the work of software developers. The idea...
0
6792
by: conductexam | last post by:
I have .net C# application in which I am extracting data from word file and save it in database particularly. To store word all data as it is I am converting the whole word file firstly in HTML and then checking html paragraph one by one. At the time of converting from word file to html my equations which are in the word document file was convert into image. Globals.ThisAddIn.Application.ActiveDocument.Select();...
0
5443
by: TSSRALBI | last post by:
Hello I'm a network technician in training and I need your help. I am currently learning how to create and manage the different types of VPNs and I have a question about LAN-to-LAN VPNs. The last exercise I practiced was to create a LAN-to-LAN VPN between two Pfsense firewalls, by using IPSEC protocols. I succeeded, with both firewalls in the same network. But I'm wondering if it's possible to do the same thing, with 2 Pfsense firewalls...
1
4119
by: 6302768590 | last post by:
Hai team i want code for transfer the data from one system to another through IP address by using C# our system has to for every 5mins then we have to update the data what the data is updated we have to send another system
2
3733
muto222
by: muto222 | last post by:
How can i add a mobile payment intergratation into php mysql website.
3
2927
bsmnconsultancy
by: bsmnconsultancy | last post by:
In today's digital era, a well-designed website is crucial for businesses looking to succeed. Whether you're a small business owner or a large corporation in Toronto, having a strong online presence can significantly impact your brand's success. BSMN Consultancy, a leader in Website Development in Toronto offers valuable insights into creating effective websites that not only look great but also perform exceptionally well. In this comprehensive...

By using Bytes.com and it's services, you agree to our Privacy Policy and Terms of Use.

To disable or enable advertisements and analytics tracking please visit the manage ads & tracking page.