The conception, birth, and first steps of an application named Charlie

Subscribe: Atom or RSS

Charlie’s Alarm Clock

by Alister Jones (SomeNewKid)

Readers, if you have not already subscribed to WilsonDotNet.com, go and do it now. For just $50, you get so much useful stuff. Even if you don’t care to look at the code, the components themselves are worth the price. But the real value comes from looking at the code of those components. You are nearly guaranteed to learn a few things that will save you many hours on your own projects. If you place any value on your own time, you will appreciate that joining Paul Wilson’s website is simply the smart thing to do—the subscription will pay for itself many times over.

Sure, the above is a sales pitch. But this weblog is an honest account of everything I have learned while designing Charlie, and the benefit of subscribing to Paul’s website is something I am learning over and over again.

I have just now added Paul’s KeepAlive code to Charlie. The WebApplication class has had the following static constructor introduced:

static WebApplication()
{
    Timer.Instance.Elapsed += new EventHandler(KeepAlive);
}

Both the Timer class on the left and the KeepAlive handler on the right are lifted straight out of Paul’s WebPortal project. Every fifteen minutes, the Timer elapses and Charlie requests one of its own pages. This page request is all that is needed to stop ASP.NET from unloading the application. So this code effectively introduces an alarm clock that will wake Charlie up before it has the chance to fall asleep.

Because the Charlie application is kept awake, this means that the Cache is not unloaded. The Cache too was enhanced with an idea or two from the Wilson WebPortal.

So in the last two days, I have added three separate ideas from the Wilson WebPortal. Because all of Paul’s components are provided with source code, I was able to open Paul’s code in one window, open Charlie’s code in another window, and virtually copy the code. The code was not literally copied, since I tweaked Paul’s code to work with Charlie’s design. But having a source-provided component to work from meant that it took me only about an hour to accelerate Charlie’s performance. It would have taken me a few hours to first come up with the same ideas, and then many more hours to research the ideas and write the code. That is my subscription paid for, right there. And that is not yet taking into account the WilsonORMapper, which I will talk about in my next weblog entry.

In these days of spam and affiliate sponsors and viral marketing and so on, it is very hard to make a strong recommendation without it coming across as insincere. Yet the simple truth is that I have no vested interest Paul’s websites, but Charlie has benefitted so much from my subscription to his website that I must give credit where it is due. I have benefitted from my subscription, Charlie has benefitted, and you will too.

Thank you, Paul Wilson.

by Alister Jones | Next up: The Two Devils of SQL

1 comments

______
Anonymous Anonymous said...  
 

Thanks for all the kind words.

Post a Comment

----