January2005January 2005

ASP.NET: 10 Tips for Writing High-Performance Web Applications

Writing a Web application with ASP.NET is unbelievably easy. So many developers don't take the time to structure their applications for great performance. In this article, the author presents 10 tips for writing high-performance Web apps. The discussion is not limited to ASP.NET applications because they are just one subset of Web applications. Rob Howard

C++ Rules: Power Your App with the Programming Model and Compiler Optimizations of Visual C++

Many programmers think that C++ gets good performance because it generates native code, but even if your code is completely managed you'll still get superior performance. In Visual Studio 2005, the C++ syntax itself has been greatly improved to make it faster to write. In addition, a flexible language framework is provided for interacting with the common language runtime (CLR) to write high-performance programs. Read about it here. Kang Su Gatlin

Memory Lane: Rediscover the Lost Art of Memory Optimization in Your Managed Code

Managed applications rely on the garbage collector in the .NET Framework to allocate and clean up memory. The little CPU time spent performing garbage collection (GC) is usually a fair trade-off for not having to worry about memory management. But for applications in which CPU time and memory are precious resources, minimizing the time spent garbage collecting can greatly improve application performance and robustness. Find out how to manage memory all over again. Erik Brown

CLR Profiler: No Code Can Hide from the Profiling API in the .NET Framework 2.0

The common language runtime (CLR) profiling API makes available information about the application domains, assemblies, and classes that are loaded and used in a process, just-in-time (JIT) compiler notifications, memory usage tracking, tracing of events, exception tracking, managed to unmanaged code transitions, and the state of the runtime. And if that weren't enough, you will find a nicely enhanced profiling API in the .NET Framework 2.0. Find out what's coming up in this next version. Jay Hilyard

Interop: Get Seamless .NET Exception Logging From COM Clients Without Modifying Your Code

Using .NET objects from ASP can help you gain experience with the .NET Framework before migrating to ASP.NET. Your ASP pages will make use of the new .NET components through COM-callable wrappers (CCW). But how will you handle exceptions? This article fills you in. Matt Adamson

All About Statics: Get a Charge From Statics with Seven Essential Programming Tips

This article examines seven characteristics of statics that will help you in your development. The discussion will touch on static constructors and how the C# and Visual Basic compilers work together with the runtime to implement additional safety behind the scenes. By the end of the article, you will come away with best practices for the use of static members and static classes in your apps. K. Scott Allen

Code Download (849 KB)
.Chm Files


Editor's Note: Celebrating Our 20-Year Milestone
The world of software development is all about milestones. At the lowest level, a programmer has to create a certain set of functions in a fixed amount of time, and is then judged on this performance.
New Stuff: Resources for Your Developer Toolbox
Spices. VSIP. NET (Visual Studio Integration Pack), released by 9rays, is a set of plug-ins for Visual Studio® . NET that let you to add obfuscation, verification, modeling, and debugging to your assemblies built within the Microsoft® . Marnie Hutcheson
Web Q&A: Caching and Expiration, Connection Pools, and More
Edited by Nancy Michell
Advanced Basics: Creating a Five-Star Rating Control
I have to admit it; most of my Windows® Forms controls are an attempt to copy something that already exists. In my October 2004 column I showed you how to create a progress bar that mimicked the one shown during the Windows XP setup routine, and this month I'm at it again. Duncan Mackenzie
Data Points: Data Source Controls in ASP.NET 2.0
ASP. NET 2. 0 introduces a series of new tools that improve data access including several data source and data bound controls. The new assortment of data source controls can eliminate a ton of repetitive code that was required in ASP. John Papa
Cutting Edge: Custom Script Callbacks in ASP.NET
ASP. NET client callbacks represent a neat and elegant way to execute server-side code without posting and refreshing the current page. I discussed ASP. NET callbacks in the August and December 2004 installments of Cutting Edge, considering them from the perspective of rendered pages making background callbacks to the server, sending input data to the relevant page, and receiving a response. Dino Esposito
Test Run: Lightweight UI Test Automation with .NET
Manual user interface testing is one of the most fundamental types of software testing and it's the kind of testing that most software engineers first experience. Paradoxically, automated user interface tests are probably the most technically challenging kind of test to write. James McCaffrey
The ASP Column: Determining Browser Capabilities in ASP.NET
Web applications are different from applications that run in homogenous environments because they send their output to all kinds of platforms and Web browsers. Some browsers support client-side scripting, some support XHTML, and still others have limited screen real estate. George Shepherd
Security Briefs: Security Enhancements in the .NET Framework 2.0
As I write this column, version 2. 0 of the Microsoft® . NET Framework is at Beta 1. When I got my bits, I hacked together a little program to dump all of the public members of all public types in the entire Framework and ran it on version 1. Keith Brown
.NET Matters: Sepia Tone, StringLogicalComparer, and More
Stephen Toub
C++ Q&A: Sending Keystrokes to Any App, Calling .NET from an MFC App, and More
Paul DiLascia
{End Bracket}: Joining the Team
It's been more than a year since my words last floated across the pages of MSDN®Magazine. As readers of my blog probably know, my life's been interesting the past 12 months.Matt Pietrek