The attached sample illustrates how to execute true server-side child requests that go though the entire HTTP pipeline in ASP.NET v2.0. The full source code is included.
Out of the box ASP.NET supports two similar features:
Child Request feature sample allows spawning of server-side requests that go through the entire HTTP pipeline and capturing of the responses. Several child requests could be used in the context of one parent request. In fact, no parent request is needed at all (which is yet another advantage over Server.Execute and Response.Redirect).
The API is quite simple to use:
In addition, the instance of the ChildRequest being executed can be retrieved from a module or a handler using ChildRequestExecutor.GetChildRequestFromContext. This can be useful in order to retrieve UserData property of ChildRequest set by the caller.
Related to this feature, here is a quick reference for the steps in HTTP pipeline in ASP.NET 2.0. Some of the steps are internal (cannot be subscribed by HTTP modules or GLOBAL.ASAX):