Custom Server Controls

I’ve been fight with creating Custom Server Controls (Custom Controls).  I have create one Custom Control that inherits from CompositeControl.  And create another control that inherits from the previous created custom control.  Let’s just say the process of create a custom control is not very intuitive.  Let’s not even talk about creating a customer control that inherits from another customer control.  Holly !@#$.
I will probably create custom controls again and when I do hopefully the following resources will be helpful.
Composite controls that do their own databinding
Control Building and ViewState Lesson for the Day
A Crash Course on ASP.NET Control Development: Building Composite Controls

ASP.NET Debugging Stop Unexpectedly

My environment: Visual Studio 2008 (VS.NET), Vista, IIS7, ASP.NET. 
I have a situation when I’m debugging ASP.NET and after about 90 seconds of stepping through code the debugger suddenly stops and detaches.
Based on info from others, it seems that the underling problem is Vista and Internet Information Server 7 (IIS7).  There are two setting in IIS7 for Application Pools that can create this problem: Ping Enabled and Ping Maximum Response Time.  The default for Ping Maximum Response Time is 90 sec.  By changing these values should resolve the problem.  The references below probably provides a better overview of the problem.
My web application times out when debugging in IIS7

Page.ResolveUrl(“~/ClientScripts/Validation.js”) – Web Application Root Operator

I have the situation where I need to load a JavaScript dynamically.  All the JS files are in the ClientScript directory (  The ASPX page that references the client scripts could be anywhere, multiple folders (directories) down in the site or in the application root.  I would like a simple way of referencing the the application root.  The magic to this is the ~ (Tidle). The ~ resolves to the root of the current application. 
The following line allows me to reference the application root
this.ClientScript.RegisterClientScriptInclude("Validation.js", Page.ResolveUrl("~/ClientScripts/Validation.js"));
And here is the results in the HTML file.
<script src="/ClientScripts/Validation.js" type="text/javascript"></script>

ASP.NET AJAX WebServices and ScriptServices

I’ve been working with ASP.NET AJAX for the past week and the following resources allowed me to get up to speed pretty fast.  The following two books that I list are pretty good.   Both of the them cover some different information.  I believe the Professional ASP.NET 2.0 AJAX is a little easier to read and the examples are much better. 
Video – How Do I: Use an ASP.NET AJAX ScriptManagerProxy?
Video – How Do I: ASP.NET AJAX Enable an Existing Web Service?
Video – How Do I: Make Client-Side Network Callbacks with ASP.NET AJAX?
Video – How Do I: Choose Between Methods of AJAX Page Updates?
MSDN Article – Using ASP.NET Session State in a Web Service
Book – Introducing Microsoft ASP.NET AJAX (Dino Esposito)
Book – Professional ASP.NET 2.0 AJAX