Hoang Phan
Hoang Phan

Reputation: 90

Kentico Output Caching issue - content couldn't get updated

I am working with a Kentico site and I have a problem with page output caching.

We have a custom webpart which loads the records from a Bizform's record data and displays those data in a page. The problem is that after giving it several tries, we couldn't figure out the problem why the webpart couldn't get the latest data from the bizfrom data and we suspect it was because of output caching.

We tried to:

We encounter a similar problem with Shopping Cart Mini Preview Webpart with Ecommerce.CurrentContext.CurrentShoppingCart which returns different result for service handler (.ashx - gets updated) and for webpart (.ascx - does not get updated)

If you ever experienced these problems, please help.

Upvotes: 0

Views: 647

Answers (2)

Anub1s
Anub1s

Reputation: 53

I have faced issue similar to second one (with Shopping Cart Mini Preview Webpart) recently. Only web service (.asmx) was used instead of HTTP handler. In my case issue was solved by setting the EnableSession property of WebMethod attribute to true for all the CRUD webservice methods.

[System.Web.Services.WebMethod(EnableSession = true)]

So I think the matter is that handler should be able to access current Session. In case of HTTP handler you could try to add IRequiresSessionState on the handler declaration to attach it with the session.

I am also using Kentico 8, I see that your Kentico version is older. That might also have impact but I am not sure about that.

Upvotes: 0

rocky
rocky

Reputation: 7696

The last place where it could be cached is the content cache. It can be set either in Settings->System->Performance or at the web part level under System settings section. Only web parts that utilize the content caching have this section available. (E.g. some repeaters and data source web parts.) It might be a little bit confusing because then there are two sections (System settings and Performance) where you can influence caching. However the Performance section is used to set up the Partial output cache.

Anyway, you should definitely try to check Cache debug to see what is actually cached.

Additional resources:

Upvotes: 1

Related Questions