MSDN Magazine > Issues and Downloads > 2003 >  MSDN Magazine May 2003
May2003 May 2003
Real-World XML: Manipulate XML Data Easily with Integrated Readers and Writers in the .NET Framework
In the .NET Framework, XmlTextReader and XmlTextWriter provide for XML-driven reading and writing operations. In this article, the author discusses the architecture of readers and how they relate to XMLDOM and SAX parsers. He also shows how to use readers to parse and validate XML documents, how to leverage writers to create well-formed documents, and how to optimize the processing of large XML documents using functions to read and write Base64 and BinHex-encoded text. He then reviews how to implement a stream-based read/write parser that combines the functions of a reader and a writer into a single class. Dino Esposito
Debugging Tool: Build a Logging and Event Viewing Library to Help Debug Your .NET Framework-based App
Building a basic, reusable application framework can make development quicker and easier. This allows you to focus more on the problems at hand and less on the repetitive tasks involved in building any application. In this article, the author presents a framework that provides facilities to access the registry and an extensible framework for logging messages to a console window or the Event Viewer. This reusable framework can be included as a library in your projects, allowing you to display an enhanced, color-coded message log and dynamically change logging levels. Daryn Kiely
Metadata: Create a Database Schema Repository with Meta Data Services in SQL Server 2000
SQL Server 2000 Meta Data Services is a repository technology that stores and manages metadata for SQL Server. Instead of building database schemas over and over, Meta Data Services allows you to freeze an entire schema for use in other projects. You can also use these schemas for training, testing, or debugging. In this article, the authors will review the various components of Meta Data Services and show how it can be programmed using a Visual Basic client, XML, and XSLT. They will also show you how to manage and manipulate your metadata by generating a simple database schema using a SQL Server repository. Alok Mehta and Ricardo Rodriguez
Visual Studio .NET: Building Windows Forms Controls and Components with Rich Design-Time Features, Part 2
This is the second of two articles discussing the extremely rich design-time features of the .NET Framework. Part 1 discussed the basics, showing you where to start and how to extend your control implementation through attributes and interfaces, as well as their effects on the property browser, code serialization, and other controls. Part 2 continues the journey by concentrating on design-time functionality that you can implement beyond your components and controls, including TypeConverters, UITypeEditors, and Designers. It would be impossible to cover everything you can do in two short articles, which is a testament to just how all-encompassing and flexible the design-time capability of the .NET Framework is. Michael Weinhardt and Chris Sells
Virus Hunting: Understand Common Virus Attacks Before They Strike to Better Protect Your Apps
Developer's machines can often be more vulnerable to viruses than the average corporate user because of their more frequent access to remote machines and shares, and the differing administrative privileges they maintain across mutiple machines. Reliance on antivirus software is fine as a first line of defense, but you need a basic arsenal of skills for securing the executables on your system and coping with viruses on your own. This article reviews proactive methods you can use to defend yourself against malicious executable code in resources, component libraries, scripts and macros, as well as how to avoid a handful of other potential vulnerabilities. Jason Fisher
Code Download (680 KB)
.Chm Files

Columns
Editor's Note: Get Ready For Microsoft Office 2003
Over the years, we've celebrated a lot of anniversaries in this column. Who can forget our "Ten Years of ENIAC!" Editor's Note back in June 1957? Or the "How Far We've Come: Five Years of the Altair 8800" issue back in January 1980? Or even the "Macintosh Interface: 15 Years Without an Update" Editor's Note page just four years ago?.
New Stuff: Resources for Your Developer Toolbox
Consonica Ltd. has announced StateStitch, which enables ASP. NET technology to be used with existing ASP applications. ASP. NET offers a more powerful feature set, but since ASP and ASP. NET applications cannot share session data, existing applications would otherwise need to be completely rewritten. Theresa W. Carey
Web Q&A: Storing SQL Data, URL Query Length, and More
Find out the best way to store large amounts of XML data in SQL Server, along with the performance implications. What's the maximum length of an XML query to SQL Server in a URL? Edited by Nancy Michell
Data Points: Techniques for Managing Rowset Paging
There are a number of ways to handle paging in Web applications. This month I'll examine several paging techniques and weigh their pros and cons. John Papa discusses how to manage paging and caching issues through the lower tiers of an n-tiered architecture, including how to make SQL Server manage the paging on your app's behalf. John Papa
Cutting Edge: Form-based Programming in ASP.NET
One of the most common snags that ASP developers encounter when they first approach ASP.NET is that managed Web applications must be written according to a single-form interface model. Find out how it works. Dino Esposito
The XML Files: Web Services Encoding and More
Aaron Skonnard covers the difference between document/literal and rpc/encoded Web Services and the history behind them. Aaron Skonnard
Advanced Basics: Windows Forms Controls
Build a control that allows the user to drag and drop other controls onto the new control at run time, and allow the user to move the control around on a form, all in Visual Basic. Ken Spencer
House of Web Services: Mandatory Headers in ASP.NET Web Services
The ASP.NET Web Services infrastructure includes support for programming with SOAP message headers. Unfortunately, the model for handling mandatory headers is flawed in that you need to write additional code so that a Web Service will not execute when a mandatory header is not processed. This column explores a specific problem that arises when you deal with mandatory SOAP handles and presents three solutions. Tim Ewald
Basic Instincts: Programming Events of the Framework Class Libraries
Some practical examples of handling some of the more commonly used events in the Microsoft .NET Framework. Ted Pattison
C++ Q&A: Window Destruction in the .NET Framework
If a window is destroyed, does the .NET Framework immediately destroy the corresponding Form, or does it wait until a garbage collection to do this? How can you release my resources as soon as the window is destroyed? This month Paul DiLascia gives you the answers. Paul DiLascia
Resource File: Windows Media 9 Series Digital Rights Management
If you have an application that handles Windows Media content and you need an effective way to track content usage, Windows Media 9 Series now offers Digital Rights Management (DRM). It allows you to take advantage of the peer-to-peer distribution model and still redirect users back to your app once they have downloaded your content (prior to viewing).
Page view tracker