The content you're reading is getting on in years
This post is on the older side and its content may be out of date.
Be sure to visit our blogs homepage for our latest news, updates and information.
Thanks to our great community we have discovered a hard-to-track bug that happens on websites with a greater amount of traffic. Since you may be experiencing this bug as well, we’ve decided to publish the workaround here on the blog as well as some background.
The error manifests itself every so often and the page you see looks like this:
The bug happens mostly on websites with higher amounts of traffic and it happens when the same page is requested concurrently, at the very same moment. The problem is in the fact that even though the two pages are running in separate threads, the cache of the page that was requested first (and I mean first as in “just a bit” before the second one) is valid for the second page. The cache of the second page should not be valid for the first page, because it should be thread dependent, but it is. The particular error happens then as the first page progresses through its lifecycle, the second one enters that very same lifecycle and we get the “RegisterRequiresControlState can only be called before and during PreRender”.
public class CustomPageHandler : Telerik.Cms.Web.InternalPage | |
{ | |
protected override void OnPreInit(EventArgs e) | |
{ | |
Nolics.ORMapper.Base.ObDataCache.Current = null; | |
base.OnPreInit(e); | |
} | |
} | |
We have already fixed this issue for the upcoming Service Pack 2, but we do understand this is a really big issue to some of you and we wanted to give you a workaround in case you need it right now or if you are not planning on upgrading to Service Pack 2 as soon as it is released.
We’d like to apologize to everyone who experienced the problem. We would also like to thank everyone who reported the issue and provided us with many details which enabled us to pinpoint this bug.
View all posts from The Progress Team on the Progress blog. Connect with us about all things application development and deployment, data integration and digital business.
Let our experts teach you how to use Sitefinity's best-in-class features to deliver compelling digital experiences.
Learn MoreSubscribe to get all the news, info and tutorials you need to build better business apps and sites
Progress collects the Personal Information set out in our Privacy Policy and the Supplemental Privacy notice for residents of California and other US States and uses it for the purposes stated in that policy.
You can also ask us not to share your Personal Information to third parties here: Do Not Sell or Share My Info
We see that you have already chosen to receive marketing materials from us. If you wish to change this at any time you may do so by clicking here.
Thank you for your continued interest in Progress. Based on either your previous activity on our websites or our ongoing relationship, we will keep you updated on our products, solutions, services, company news and events. If you decide that you want to be removed from our mailing lists at any time, you can change your contact preferences by clicking here.