Asynchronous Invocation Application Block for .NET
| Retired Content |
|---|
| This content is outdated and is no longer being maintained. It is provided as a courtesy for individuals who are still using these technologies.
This page may contain URLs that were valid when originally published, but now link to sites or pages that no longer exist.
|
patterns and practices Developer Center
Jonathan Wanagel, Rajat Kumar, William Loeffler
Microsoft Corporation
June 2003
Summary: This page provides an overview of the Asynchronous Invocation Application Block, which is a Microsoft® .NET Framework class library that allows you to increase the performance of your Web application and enhance the end users' experience.
| Download | |
| Webcast |
|
| Community |
Downloads
A Windows Installer file that contains the signed Asynchronous Invocation Application Block assemblies and documentation is available. Download the Asynchronous Invocation Application Block in the Microsoft.com Download Center.
The installation creates a Microsoft Application Blocks for .NET submenu on your Programs menu. On the Microsoft Application Blocks for .NET submenu, there is an Asynchronous Framework submenu that includes options to launch the Asynchronous Invocation Application Block Visual Studio® .NET solution and the documentation.
A Quick Start Sample that demonstrates asynchronous techniques is included with the Asynchronous Invocation Application Block.
Who Should Read This Guide
This guide is written for:
- Visual Basic® .NET developers
- Visual C# developers
- Anyone interested in .NET Framework development
The Problem with Synchronous Communications
A distributed application may require information from multiple service providers. If the entire process is performed synchronously, a client must wait until every service provider is contacted as well as any connection or service delays. Synchronous communication makes the user wait for the total time it takes for each service provider to process requests.
The Asynchronous framework solves this performance issue by providing a mechanism for requests to be processed asynchronously, which increases server efficiency and enhances the end users' experience.
How the Asynchronous Invocation Application Block Works
A Web client makes a request for information from multiple service providers by submitting a request to the Asynchronous framework. The Asynchronous framework dispatches Service Agents to communicate with each service provider. As the requested information becomes available, it is sent to the client for display. In this manner, a partially completed page is ready for viewing even before all requested information becomes available. The end user perceives a faster application, and server resources are freed much more quickly than in a synchronous scenario.
Use with Other Application Blocks
The Asynchronous Invocation Application Block incorporates the Exception Management Application Block for exception handling, but you can use your own exception handling techniques if you prefer. The Data Application Block is also included to minimize the data access code you need to write.
The Asynchronous Invocation Application Block can be used alone as a class library, or you can include the source code in your project and configure it to your own needs. It is also designed to work in concert with the Caching Application Block and the Aggregation Application Block.
Feedback and Support
This Application Block for .NET is based on reviews of successful .NET applications. It is provided as source code that you can use "as-is" or customized for your application. Support is available through Microsoft Product Support for a fee.
Collaborators
Many thanks to the following contributors who provided invaluable assistance: Ron Jacobs, Lars Laakes, Sandy Khaund, Mohammad Al-Sabt, Carlos Farre (Solutions IQ), Chakravarthy Ragavan Shrivathsan (Satyam Computer Services), Vimal Kocherla (Satyam Computer Services), Chris Sfanos, Mark McGee (Write Stuff) and Tina Burden (Entirenet).
| Retired Content |
|---|
| This content is outdated and is no longer being maintained. It is provided as a courtesy for individuals who are still using these technologies.
This page may contain URLs that were valid when originally published, but now link to sites or pages that no longer exist.
|
