Contents tagged with Caching

  • Speaking in Ann Arbor November 14th

    I'll be presenting to the Ann Arbor .Net Developer's Group in two weeks on ASP.NET Caching Best Practices.  The meeting starts at 6pm at SRT Solutions in Ann Arbor.  You can find more information about the group and meeting location here: more

  • VaryByCustom Caching By User

    Ran into an interesting bug today with one of my applications.  A user control that provides messages based on a user's account was showing the wrong information to other users in our testing.  The user control was set up with an output cache directive and a VaryByParam="*" setting, yet it was showing other users' messages (one in particular) to basically everybody - not good.  The funny thing was, it was only doing it on one server instance, not on localhost, despite its having the same code and same database. Well, we quickly figured out that this was a caching issue.  The problem was that everywhere in the application, the account the user is accessing is specified … more

  • Caching Talk in Phoenix

    Tuesday night I gave a presentation on caching in ASP.NET (with a bit of async performance tips thrown in at the end) to the Arizona .NET User Group in Phoenix, Arizona.  A lot of the demos were similar to ones I've given before, including in my recent DNRTV Show on Caching.  I've posted the samples from Tuesday night's talk here, which include the async demo I did as well as an updated version that uses a templating approach for loading up the user controls.  I expect to have a full blown articles and/or video on that topic soon. more

  • Caching in ASP.NET Show on dnrTV

    I'm on dnrTV this week with a show about Caching in ASP.NET, one of my favorite topics.  I think the whole show is a bit under an hour and I go through a bunch of demos and show off some of the less-well-known features of caching, such as cache profiles, programmatic output cache invalidation, and the Substitution control that lets you have dynamic contents on a fully output-cached page.  I also cover SQL Cache Invalidation and Micro Caching, the demo that helped win me Speaker Idol at TechEd 2007.  It was fun to record and I hope you enjoy it. Thanks again, Carl, for inviting me on the show! more

  • Real World ASP.NET Performance Tuning Experience

    I'm in the midst of wrapping up a multi-year long project to replace the advertising engine used to host sponsored ads on a few dozen .NET web sites.  This system traces its "lineage" back to an old ASP application written in 2001 (it served its first 207 impressions on 31 March 2001), and has since been upgraded to ASP.NET 1.0 and 2.0 both as incremental ports, not full revisions (for instance, the database remained constant between these ports, and there was never any decent UI for managing the ads (basically direct table access).  Anyway, the system has grown and grown and now serves about 100M impressions per month, which if you do the math works out to an … more

  • Update Cache in Background Thread

    Peter Bromberg recently wrote an article on refreshing the ASP.NET cache, which referenced my ASP.NET Caching Best Practices article on MSDN.  In my original article, I lamented the general uselessness of the CacheItemRemovedCallback feature, and wished for a CachedItemExpiredButNotRemovedCallback.  Sadly, this feature is still lacking despite the release of .NET 2.0 and 3.0 since my article was published in 2003. Peter's approach is a simple and effective one, and works well for a limited number of operations.  The one issue he doesn't address is that his background thread is permanently using one of the application's threads from its thread pool.  This is not a … more

  • Moscow User Group Presentation - Caching Best Practices

    In my last post I wrote that I would be speaking in Moscow this week - well, I did so Monday night and it went quite well I thought.  I have uploaded the presentation and demo code from the presentation as promised - sorry it took a couple of days but I didn't get back online until I returned home to Ohio, USA.  Thank you Gaidar Magdanurov for inviting me to speak and for getting me to and from my hotel for the event - thankfully the traffic was amazingly absent.  For this event there were approximately 50-60 people in attendance.  I presented in English since my Russian skills are still not quite up to the task, and there were many questions, some of whom Gaidar … more

  • Mr. Smith Goes to Moscow

    I’ll be in Moscow next Monday, presenting to a .NET user group there.  The topic will be .NET Caching Best Practices.  The meeting place and time are as follows: Moscow dot NET Alliance (MDNA) GroupMicrosoft Russia, Building 1, 17 Krylatskaya Str., Moscow, Russia19.00 May 7, 2007 Thanks to Gaidar Magdanurov, Microsoft DE for the area, for helping to set this up on relatively short notice.  I hope there is a fair turnout and I also hope that my lack of Russian language skills will not be a major problem.  This is actually my first time presenting on another continent (though I have spoken in Montreal, but they at least include English among their official languages). more

  • ASP.NET Wish List

    I’m at the MVP Summit this week in Seattle and one of the things this provides an opportunity for is providing feedback to the product teams.  I certainly have plenty of ideas of my own for new features I’ve been longing to see in ASP.NET, as well as fixes for some annoyances.  If you have ASP.NET feature requests of your own, please add them as comments.  I’m going to make sure the ASP.NET team reads this post. My short list of ASP.NET feature requests follows: Recursive FindControlA very common issue with ASP.NET today is locating references to controls that are not referenced directly from the page.  For instance, if you want to refer to a button … more

  • Real World Application Performance Tuning Example

    Many of you know that I’m very much into high performance and scalability techniques.  One thing you need to remember when applying performance tweaks is that as your application changes, your performance optimizations may need to change and evolve with it.  Let me demonstrate this with a case in point. On, a fairly busy web site with about a thousand articles and tutorials on software development, each article displays its total views and its views in the last 10 days.  Now, perhaps the ideal design for this data, from a performance standpoint, would be to schedule a job to calculate these fields and store them in the database in the Article table, and … more

  • Speaking in Arizona in March 2007

    I’ll be speaking at the Arizona .NET user group on 7 March 2007 about Caching and Performance.  More information here.  The session’s description is: This session focuses on fundamentals of performance and scalability design, testing, and optimization, with an emphasis on distributed architectures and data driven applications.  The special case of caching will be given extra attention, and a number of best practices and techniques related to caching in .NET and ASP.NET will be demonstrated, along with their effects on overall application performance.   more

  • DevConnections Fall 2006 Summary

    Got back home last night from DevConnections in Las Vegas.  It was a very good show this year in terms of content, products being launched, and numbers of attendees and exhibitors.  I think I had more people in my sessions than usual, too, and they all went well (i.e. the demos worked, nobody threw tomatoes at me).The keynote on Monday night suffered a bit from some audio issues and in general wasn’t as tremendously exciting as I thought it should have been given that ASP.NET AJAX Beta 2 was announced, along with Office 2007 and Sharepoint 2007 and, I believe, .NET 3.0.  Perhaps the sheer volume of announcements of products being released made it difficult to build buzz … more