February 2001

Visual Basic .NET: New Programming Model and Language Enhancements Boost Development Power

Visual Basic .NET is the result of a significant rebuild of Visual Basic for the Microsoft .NET Framework. There are a number of changes that make Visual Basic .NET easier to use, more powerful than Visual Basic 6.0, and give it the kind of access to system resources that in the past required the use of languages like C++. One of the most important additions is object inheritance. In Visual Basic .NET, all managed types derive from System.Object. An important new language feature is garbage collection, which is administered by the Common Language Runtime and provides better memory management. The universal type system allows for greater interoperability, also contributing to the enhanced power and flexibility found in Visual Basic .NET. Ted Pattison

Windows Forms: A Modern-Day Programming Model for Writing GUI Applications

To write GUI applications for Microsoft .NET you'll use Windows Forms. Windows Forms are a new style of application built around classes in the .NET Framework class library's System.WinForms namespace. They have a programming model all their own that is cleaner, more robust, and more consistent than models based on the Win32 API or MFC, and they run in the managed environment of the .NET Common Language Runtime (CLR). This article details what Windows Forms are all about, from the programming model to Microsoft Intermediate Language and the JIT compiler. Two applications using forms, event handlers, anchors and persistence are built step by step. Jeff Prosise

.NET Framework: Building, Packaging, Deploying, and Administering Applications and Types

Types that are built for the Common Language Runtime can be shared among applications in the Microsoft .NET Framework no matter which of the .NET languages they were built in, an obvious benefit to developers. This article describes the building, packaging, and deploying of applications and types for the .NET Framework, including the role and significance of assemblies, private and otherwise. The way metadata and assemblies help to solve some historical problems like versioning conflicts and DLL Hell, and how they improve system stability are also discussed. Jeffrey Richter

Web Services: Building Reusable Web Components with SOAP and ASP.NET

XML and HTTP are cross-platform technologies especially suited for building applications that can communicate with each other over the Internet, regardless of the platform they are running on. Web Services in the Microsoft .NET Framework make it easy to write components that communicate using HTTP GET, HTTP POST, and SOAP. An understanding of these concepts, along with knowledge of synchronous and asynchronous operations, security, state management, and the management of proxies by the .NET Framework is essential in building these applications. This article has been adapted from David Platt's upcoming book introducing the Microsoft .NET Platform to be published by Microsoft Press in Spring 2000. David S. Platt

Security in .NET: Enforce Code Access Rights with the Common Language Runtime

Component-based software is vulnerable to attack. Large numbers of DLLs that are not tightly controlled are at the heart of the problem. Code access security in the Common Language Runtime of the Microsoft .NET Framework addresses this common security hole. In this model, the CLR acts as the traffic cop to assemblies, keeping track of where they came from and what security restraints should be placed on them. Another way the .NET Framework addresses security is by providing preexisting classes which have built-in security. These are the classes that are invoked in .NET when performing risky operations such as reading and writing files, displaying dialog boxes, and so on. Of course, if a component calls unmanaged code, it can bypass code access security measures. This article covers these and other security issues. Keith Brown

.NET P2P: Writing Peer-to-Peer Networked Apps with the Microsoft .NET Framework

Peer-to-peer applications such as Napster, Gnutella, and Scour that communicate as peers sharing and receiving information are becoming commonplace as a means for users connected on large networks to take advantage of the vast resources available to them. The Microsoft .NET Framework provides a rich platform for building P2P apps. This article explains the concepts that make up peer-to-peer applications. The peer-to-peer application model, discovering other peers, and querying peers for information are discussed. The article goes on to cover the System.Net namespace for the use of Internet protocols, the System.Web.Services namespace for exposing Web Services, and firewall and port issues. Finally, the role of the .NET Framework in simplifying the design of powerful peer-to-peer applications is outlined. Lance Olson

Editor's Note: .NET Beta 1 Arrives

New Stuff: Resources for Your Developer Toolbox

Theresa W. Carey

Web Q&A: Scripting Interoperability, Login Control on a Web Farm, Custom Refreshes, App Servers, and More

Robert Hess

Serving the Web: Driving Visio 2000 from Visual Basic

Ken Spencer

Cutting Edge: The Component Model in ASP.NET

Dino Esposito

Bugslayer: Assertions and Tracing in .NET

John Robbins

.NET Column: Special .NET Type Members

Jeffrey Richter

C++ Q&A: Prevent Users from Performing Normal GUI Operations

Paul DiLascia

MSDN Update: News this Month from MSDN

Code Download (309 KB)
.Chm Files