MSDN Magazine: Visual Basic rss

All MSDN Magazine Topics
  • Basic Instincts: Documenting Your Code With XML Comments
    Lisa Feigenbaum - May 2009
    XML comments provide an easy and effective way to document your code. We’ll show you how to use and customize XML comments in your Visual Basic projects.

  • Basic Instincts: Inspecting COM Objects With Reflection
    Lucian Wischik - January 2009
    Reflection is useful for debugging and logging and otherwise providing the type information you need. Here you’ll see how to use reflection on COM types.

  • Advanced Basics: The ObservableCollection Class
    Ken Getz - December 2008
    Ken Getz shows how the CollectionChanged event lets you reflect changes to your underlying data source in your bound data controls.

  • Basic Instincts: Dynamic Data Entry With XML Literals
    Beth Massi - October 2008
    Learn how to use Windows Presentation Foundation (WPF), XAML, and the deep XML support in Visual Basic to generate user interfaces dynamically.

  • Basic Instincts: Increase LINQ Query Performance
    Jared Parsons - August 2008
    Jared Parsons demonstrates a technique to achieve maximum performance from LINQ queries on large sets of data in order to create a responsive user interface.

  • Team System: Essential Power Tools.
    Brian Randell - August 2008
    Brian Randell introduces you to some crucial Power Tools for getting the most out of Team System.

  • Advanced Basics: The LINQ Enumerable Class, Part 1.
    Ken Getz - July 2008
    Presented here is the LINQ Enumerable class, which allows you to manipulate data in any class that implements IEnumerable(Of T).

  • Form Filler: Build Workflows to Capture Data and Create Documents
    Rick Spiewak - June 2008
    Learn how to create a workflow that uses InfoPath forms and other office documents for passing data to targeted activities and for use in Office documents.

  • Office Space: From VBA Macro to Word Add-in
    Robert Bogue - May 2008
    See how to use Word to capture a VBA macro and use Visual Studio Tools for Office to wrap it up into a deployable Word add-in.

  • Team System: Team Foundation Server Event Service
    Brian A. Randell - May 2008
    Use the Team Foundation Server EventService to create and manage event subscriptions or create a Web service to receive and process events.

  • Office Development: Manage Metadata with Document Information Panels
    Ashish Ghoda - April 2008
    Here the author uses Document Information Panels in the Microsoft 2007 Office system to manipulate metadata from Office docs for better discovery and management.

  • Basic Instincts: My Namespace Extensions with My Extensibility
    Matthew DeVore - April 2008
    In this month’s column, learn how to integrate your own My Namespace extension into the Visual Basic development environment using the My Extensibility feature.

  • Advanced Basics: Office 2007 Files and LINQ
    Ken Getz - March 2008
    LINQ to XML and the Microsoft SDK for Open XML Formats simplify access to the parts of a 2007 Office system Open XML document when retrieving or modifying data, resulting in shorter, less complex code.

  • Basic Instincts: XML Programming in Visual Basic 9.0
    Jonathan Aneja - February 2008
    With Visual Basic 9.0, working with XML gets much easier for developers. Here's a look at some of the new features, including LINQ support, XML literals, embedded expressions, XML properties, and XML Schema IntelliSense.

  • Advanced Basics: Reflection and Generics
    Ken Getz - January 2008
    This month Advanced Basics flaunts the power of generics and reflection and shows how you get more flexible and efficient development by combining the two.

  • Map LINQ: Create Dynamic Maps with Visual Basic 9.0 and WPF
    Scott Wisniewski - December 2007
    Scott Wisniewski uses Windows Presentation Foundation data binding along with LINQ and new XML features in Visual Basic to build an interactive app that maps demographic data.

  • Toolbox: Live Chat, Code Conversion, Multiple Monitors, and More
    Scott Mitchell - December 2007
    This month, more of the tools you need to get your job done.

  • Basic Instincts: Extension Methods
    Adrian Spotty Bowles - November 2007
    This column discusses one of the new features of Visual Basic 2008—Extension Methods. This powerful new feature was introduced to support LINQ. See what extension methods are, how to apply them yourself, and get some great usage tips.

  • Basic Instincts: Type inference in Visual Basic 2008
    Bill Horst - October 2007
    Visual Basic 2008 provides type inference to get the language ready to take advantage of LINQ and make your code more robust.

  • Office Apps: Extend Your VBA Code With VSTO
    Paul Stubbs and Kathleen McGrath - August 2007
    VSTO brings you the full feature set of Visual Studio including LINQ, WPF, WCF, and the .NET Framework 3.5.

  • Basic Instincts: Query Comprehensions
    Scott Wisniewski - August 2007
    Scott Wisniewski digs into LINQ and builds a custom query provider to create queries in real-world apps.

  • VISUAL BASIC: Unleash The Power Of Query In Visual Studio "Orcas"
    Ting Liang and Kit George - June 2007
    LINQ, coming in the next version Visual Studio, codename "Orcas", adds type-safe data querying to .NET languages.

  • Advanced Basics: Using RibbonX from Visual Basic
    Ken Getz - June 2007
    Ken Getz prepares Visual Basic developers to use RibbonX.

  • Office Space: Features for SharePoint
    Ted Pattison - May 2007

  • Cutting Edge: Subclassing and Overriding ASP.NET Pages—Part II
    Dino Esposito - May 2007

  • ASP.NET 2.0: Enforce Web Standards For Better Accessibility
    Ben Waldron - April 2007
    Web standards are about much more than closing HTML tags. They are a critical factor in how well software components can be used in future contexts.

  • Team System: Work Item Tracking
    Brian A. Randell - April 2007
    In this column, Brian Randell explains how to build a simple Work Item explorer and demonstrates the core operations needed to add work item support when building your own add-in.

  • Cutting Edge: Subclassing and Overriding ASP.NET Pages—Part I
    Dino Esposito - April 2007
    There are a number of techniques that allow you to modify a running ASP.NET page without touching its source code. Dino discusses some this month.

  • ASP.NET 2.0: Manage Web Users With Custom Profile Providers
    Jason N. Gaylord - March 2007

  • Cutting Edge: Validating ASP.NET Query Strings
    Dino Esposito - March 2007

  • RibbonX API: Extend The 2007 Office System With Your Own Ribbon Tabs And Controls
    Eric Faller - February 2007
    If you want to create your own professional looking tabs and controls in Office, check out the RibbonX API of the 2007 Microsoft Office system.

  • Office Add-Ins: Develop Add-Ins For PowerPoint And Visio Using VSTO
    Paul Stubbs - February 2007
    Microsoft Visual Studio 2005 Tools for the 2007 Microsoft Office System is more powerful than ever, allowing you to create add-ins for Word, Excel, Outlook, PowerPoint, Visio, and InfoPath.

  • Office Space: Building Office Open XML Files
    Ted Pattison - February 2007
    This new column explores how you can extend and customize Microsoft Office System applications and file formats.

  • Cutting Edge: The Server Side of ASP.NET Pages
    Dino Esposito - January 2007
    Where are the files generated by ASP.NET stored and how are they used to serve page requests? This month Cutting Edge explains.

  • Team System: Team Foundation Server Version Control
    Brian A. Randell - January 2007
    In this new column, Brian Randell begins his long look at how to extend and enhance Visual Studio Team System.

  • Advanced Basics: TableLayoutPanels
    Ken Getz - December 2006
    This month Ken Getz writes a demo-creation system for Windows-based applications, which he calls a switchboard.

  • Basic Instincts: Server-Side Generation of Word 2007 Docs
    Ted Pattison - November 2006
    This month, Office Open XML, which allows ASP.NET and SharePoint developers to read, write, and generate Word, Excel, and PowerPoint documents on the server without running an Office desktop application there.

  • Cutting Edge: A Tour of Windows Workflow Activities
    Dino Esposito - November 2006
    Windows Workflow Foundation supports virtually any scenario where human opera¬tors are involved. Learn how to use it to tame your workflows.

  • Cutting Edge: Simplify Task Progress with ASP.NET "Atlas"
    Dino Esposito - October 2006
    Dino Esposito rewrites his task progress bar with the help of ASP.NET “Atlas.”

  • Advanced Basics: Predicates and Actions
    Ken Getz - September 2006
    The System.Array and System.Collections.Generic.List classes provide methods that let you avoid writing code to loop through every element of an array or list to find the items you’re looking for. Ken Getz explains.

  • Cutting Edge: Reporting Task Progress With ASP.NET 2.0
    Dino Esposito - September 2006
    The progress bar is great for keeping users informed about the progress of a task. Unfortunately, there’s no progress bar element built into ASP.NET, so Dino Esposito solves that problem with his ProgressPanel control.

  • Add-In Power: Let Users Customize Your Apps With Visual Studio Tools For Applications
    Paul Stubbs - August 2006
    If you're looking to increase the usefulness of your applications by making them customizable, you'll want to read about these three technologies available from Microsoft.

  • Basic Instincts: Resources and Localization in ASP.NET 2.0
    Ted Pattison - August 2006
    In this installment of Advanced Basics Ted Pattison discusses the localization of Web sites in ASP.NET 2.0.

  • Cutting Edge: All About Enums
    Dino Esposito - August 2006
    Dino Esposito reviews the basics of enumeration types and their implementation in the Microsoft .NET Framework.

  • WSS 3.0 Preview: Discover Significant Developer Improvements In SharePoint Services
    Ted Pattison - July 2006

  • Advanced Basics: Monitor Your Apps with System.Diagnostics
    Brad McCabe - July 2006
    It never fails. The application you just deployed ran great on your development machine—but stumbles in production. The problem might show up right away or maybe it creeps up over time. Now what?

  • Data Points: Report Controls in SQL Server 2005 Reporting Services
    John Papa - July 2006
    Reporting has always been one of the dark arts of development. The tools typically seem to do just enough to get you to a certain point, then leave you to find workarounds to solve more complex issues.

  • Cutting Edge: Context-Sensitive PictureBox Controls
    Dino Esposito - July 2006
    Great ideas are timeless. A long time ago in Microsoft Systems Journal Paul DiLascia demonstrated a neat trick to display context-sensitive tooltips floating over pictures. As the user moved the mouse over the picture, the tooltip control updated its text to reflect the name of the pointed figure.

  • Configure This: Parameterize Your Apps Using XML Configuration In The .NET Framework 2.0
    Bryan Porter - June 2006
    There are a number of ways to configure an application in the .NET Framework 2.0. This article explores the classes of the revamped System.Configuration namespace and explains how to use XML configuration files for your app configuration settings.

  • Advanced Basics: Setting Word Document Properties the Office 2007 Way
    Ken Getz - June 2006
    The last time I wrote this column (March 2006), I shared an application that allows you to update all the Microsoft® Word documents in a folder and its subfolders. Each time the application finds a document in the specified path, it updates the document properties to match those you specified in the application.

  • CLR Inside Out: Windows Vista Globalization Features
    Shawn Steele - June 2006
    Windows XP and the Microsoft .NET Framework both have APIs that support globalization. Windows Vista™ will further extend globalization support by introducing several new features.

  • Cutting Edge: A Provider-Based Service for ASP.NET Tracing
    Dino Esposito - June 2006
    When it comes to catching programming errors, the debugger is a developer's best friend. ASP. NET tracing, however, is a nice complement to the debugger and shouldn't be overlooked. It enables your ASP.

  • Wrap It Up: Call Into The .NET Framework From Existing Visual Basic 6.0 Apps
    Scott Swigart - May 2006

  • Editor's Note:
    - May 2006
    We know what you're thinking. Visual Studio 2005 has been out for a few months now. You're getting your head around it, discovering its vast inner beauty. But still, there's a nagging voice inside your head taunting you, asking why you're content to work with a released product.

  • Basic Instincts: Resources and Localization
    Ted Pattison - May 2006
    There are two ways you can utilize resources such as strings, images, and text-based files from your Microsoft® . NET Framework-based application. You can embed them directly in the app or you can load them from an external file.

  • Cutting Edge: Extending the GridView Control
    Dino Esposito - May 2006
    Welcome to my100th consecutive installment of Cutting Edge. I've been writing this column since January 1998 in Microsoft Internet Developer. Looking back over the past eight years, I realize that I've touched on almost every subject in the Windows® SDK and the Microsoft® .

  • Advanced Basics: IntelliSense Code Snippets
    Lorenzo Minore - April 2006
    IntelliSense code snippets are one of the coolest new features in Visual Studio® 2005. Code snippets are highly customizable code fragments intended to accomplish simple to intermediate tasks quickly; they can be inserted into your code with just a few keystrokes.

  • Outlook Add-Ins: Improve Your Outlook With Visual Studio Tools For Office
    John R. Durant - March 2006
    Microsoft Visual Studio Tools for Office 2003 supported only Microsoft Word and Excel. The new version, however, has the tools you need to create managed code add-ins for Outlook 2003.

  • Agile Development: Extend Team Foundation Server To Enable Continuous Integration
    Ben Waldron - March 2006
    How does Visual Studio 2005 Team System and Team Foundation Server facilitate the process of agile development and continuous integration? Here Ben Waldron explains it all.

  • Reporting Services: Deliver SQL Server Reports To SharePoint To Enhance Team Collaboration
    Ed Hild - March 2006
    The solution covered here includes a custom SharePoint Web service that accepts SQL Server-generated report files and, through the WSS object model, stores the file in the appropriate library for enhanced collaboration possibilities.

  • Advanced Basics: Set Word Document Properties Programmatically
    Ken Getz - March 2006
    At the beginning of another lovely day of writing courseware in mad pursuit of unrealistic deadlines, I received a frantic call from a business partner. He was at the end of a long consulting project and had several hundred Microsoft® Word documents, all of which required their document properties to be set identically, except the Title property of the document, which was to be based on the document file name, minus the .

  • Paste As Visual Basic: A Visual Studio Add-In That Converts C# Code To Visual Basic
    Scott Swigart - February 2006
    Build a Visual Basic add-in that lets you copy C# code and paste it into Visual Studio as Visual Basic using the code converter of your choice. Scott Swigart shows you how.

  • Basic Instincts: Introducing ASP.NET Web Part Connections
    Ted Pattison - February 2006
    When you begin to work with the Microsoft® . NET Framework 2. 0 and ASP. NET, you discover that the new Web Parts infrastructure adds some very powerful functionality to the underlying platform. In the September 2005 issue of MSDN®Magazine, Fritz Onion and I have an article on programming Web Parts titled "ASP.

  • Cutting Edge: Build Providers for Windows Forms
    Dino Esposito - February 2006
    In ASP. NET and Windows Forms projects, some file types are treated differently than others. For example, ASPX and ASCX files are dynamically parsed and compiled to an assembly on the fly. The contents of an XML Schema Definition (XSD) file are used to create a new, strongly typed DataSet-based object at design time.

  • Unit Testing Tips: Write Maintainable Unit Tests That Will Save You Time And Tears
    Roy Osherove - January 2006
    Everybody's talking about unit testing and you want to get into the game too. But you don't want the tests to take up all your development time and energy. Fortunately Roy Osherove is here to dispel some testing myths and put you on the road to efficient unit testing.

  • CLR Inside Out: Base Class Library Performance Tips and Tricks
    Kit George - January 2006
    The common language runtime (CLR) sits at the very heart of managed code. Indeed, it is the heart of managed code, so to understand managed code you need to understand the CLR.

  • Advanced Basics: The Sound of Music
    Brad McCabe - January 2006
    So you've got a burning desire to accompany your application's splash screen with a rousing chorus of "Funky Cold Medina" (that's Tone Loc for those of you who aren't children of the 80s). Prior to working with Visual Studio® 2005, adding even simple tunes and system sounds to your application could be a challenge.

  • Cutting Edge: Custom Data Control Fields
    Dino Esposito - January 2006
    In ASP. NET 2. 0, the GridView and DetailsView controls are designed to work together. They don't merely provide complementary services, they also share a number of helper classes and components. The output of the GridView control consists of a sequence of rows, each with a fixed number of columns.

  • Visual Basic: Navigate The .NET Framework And Your Projects With The My Namespace
    Duncan Mackenzie - Visual Studio 2005 Guided Tour 2006
    The My Namespace is best described as a speed-dial for the .NET Framework. It provides an intuitive navigation hierarchy that exposes existing .NET functionality through easily understood root objects. Here Duncan Mackenzie explains it all.

  • Advanced Basics: What's My IP Address?
    Ken Getz - December 2005
    If you're like me, you regularly do tech-support for family, friends, and neighbors. You can't go to a party without hearing the familiar refrain: "I've just got a quick question. " It's always something—their Internet connections get dropped, they've got a virus, they can't install some piece of hardware, or some file has gone missing.

  • Cutting Edge: Flexible Custom Data Views
    Dino Esposito - December 2005
    ASP. NET 1. x introduced some powerful and useful data-bound controls. However, none were designed specifically to manage the view of a single record. When you build master/detail views, you need to display the contents of a single record.

  • Who Goes There?: Upgrade Your Site's Authentication with the New ASP.NET 2.0 Membership API
    Dino Esposito and Andrea Saltarello - November 2005
    Here Dino Esposito and Andrea Saltarello cover the plumbing of the Membership API and its inherently extensible nature, based on pluggable providers. To demonstrate the features, they take an existing ASP.NET 1.x authentication mechanism and port it to ASP.NET 2.0, exposing the legacy authentication mechanism through the new Membership API.

  • Basic Instincts: Programming I/O with Streams in Visual Basic .NET
    Ted Pattison - November 2005
    If you are just now migrating from Visual Basic® 6. 0 to Visual Basic . NET, be prepared for a change, because the way you program file I/O is very different. The good news is that an idiosyncratic, proprietary approach has been replaced by an elegant and reusable one that has become an industry standard.

  • Cutting Edge: A Quick Tour of Themes in ASP.NET 2.0
    Dino Esposito - November 2005
    It's much easier to build a rich user interface into your Web application in ASP. NET 2. 0 than it was in previous versions. Master Pages let you build pages based on existing templates of markup and code.

  • Custom Cultures: Extend Your Code's Global Reach With New Features In The .NET Framework 2.0
    Michael Kaplan and Cathy Wissink - October 2005
    The upcoming Microsoft .NET Framework 2.0 adds a number of globalization features that address the important issues of extensibility, standards support, and migration. Here authors Michael Kaplan and Cathy Wissink explain what these features mean to your globalization effort.

  • Advanced Basics: A Match-Making Game in Visual Basic
    Duncan Mackenzie - October 2005
    My four-year-old son has decided that he wants to be like his dad when he grows up. He is planning to work in my office, and write computer programs just like I do. But there is one problem—he thinks I write games.

  • Cutting Edge: Personalization and User Profiles in ASP.NET 2.0
    Dino Esposito - October 2005
    Personalization is growing to be more and more of an essential ingredient in many types of Web apps, including portals and shopping sites. Without it, it's quite difficult to serve your customers efficiently.

  • Spice It Up: Sprinkle Some Pizzazz on Your Plain Vanilla Windows Forms Apps
    Bill Wagner - September 2005
    With the .NET Framework and GDI+, you can easily add elements of style to your applications. You can use transparency, irregularly shaped windows, notification icons, toast pop-ups, different color schemes, and lots more. Designed well, these techniques can create much more compelling interactions between your application and your users. This article explains how.

  • Advanced Basics: Revisiting Operator Overloading
    Ken Getz - September 2005
    On the conference circuit recently, I was speaking about some of my favorite new features in the Microsoft® . NET Framework 2. 0, using the content of three recent columns in this series as fodder. In my talk I sped through generics, operator overloading, and the BackgroundWorker component, all in the space of an hour (for the columns, see Advanced Basics: Being Generic Ain't So Bad, Advanced Basics: Calling All Operators, and Advanced Basics: Doing Async the Easy Way).

  • Data Binding: Give Your Everyday Custom Collections a Design-Time Makeover
    Paul Ballard - August 2005
    In this article, Paul Ballard shows how you can provide data binding support for your custom collections to enable sorting, searching, and editing in as simple a manner as possible. In addition, he shows how to make all of these features available in the Windows and Web Forms Designers, just like an ADO.NET DataSet.

  • Basic Instincts: Reflection in Visual Basic .NET
    Ted Pattison - August 2005
    In the May 2005 Basic Instincts column I wrote about the Microsoft® . NET Framework support for custom attributes and attribute-based programming (see Basic Instincts: Designing With Custom Attributes).

  • XML Comments: Document Your Code in No Time At All with Macros in Visual Studio
    Tony Chow - July 2005
    Starting in Visual Studio 2005, XML documentation support will become available in Visual Basic and C++ as it has been for C#. However, making full use of the many comment tags will take a little extra work In this article, the author shows how Visual Studio macros can be used to automate the creation of XML documentation and creates macros that write large sections of comments with just a keystroke.

  • Visual Basic: Simplify Common Tasks by Customizing the My Namespace
    Joe Binder - July 2005
    Underlying the My namespace's APIs is a fully extensible architecture you can leverage to customize the behavior of My and to add new services to its hierarchy to adapt to specific application needs. the My namespace is optimized to provide simple solutions to common problems. But if your requirements are different, you can use the My namespace's customization model to modify the behavior of individual My namespace members to meet specific application requirements.

  • Advanced Basics: Creating A Breadcrumb Control
    Duncan Mackenzie - July 2005
    Hansel and Gretel had the right idea when "they followed the pebbles that glistened there like newly minted coins, showing them the way. " The deeper you get into the forest or into your data, the more likely you are going to need help to find your way back out again.

  • Mine Your Business: AMO Lets You Dig Deeper into Your Data from Your Own Applications
    Liu Tang and Paul Bradley - June 2005
    Analysis Management Objects (AMO) for SQL Server 2005 facilitates client-side custom programming as Decision Support Objects (DSO), the object model in SQL Server 2000 Analysis Services. With AMO, a whole range of data mining questions can be answered at the operational level. This means that sales and marketing departments get answers more quickly and thus can make informed decisions.

  • Get A Raise: Discover a Series of Fortunate Event Handlers in Visual Basic
    Ken Getz - June 2005
    You may use them every day, but how much do you really know about events? What's going on when you add an event handler to a class? In this article, Ken Getz demonstrates various ways to interact with events and event handlers, and shows how they can solve common problems. Along with the article, you can download two sample applications (one for Visual Basic .NET 2002 and 2003 and one for Visual Basic 2005) and follow along.

  • Advanced Basics: Scaling Up: The Very Busy Background Compiler
    Matthew Gertz - June 2005
    One of the features that distinguishes Visual Basic® from the other languages in Visual Studio® is its use of a background compiler (BC). The BC runs from the moment you start up a Visual Basic project until the time you close the last one down.

  • Touch All the Bases: Give Your .NET App Brains and Brawn with the Intelligence of Neural Networks
    Christopher M. Frenz - May 2005
    Pattern recognition is an increasingly complex field. Every day technologies like handwriting recognition, spam filters, and search engines must identify ever more complicated patterns. One way these complex relationships can be represented is through the use of neural networks. Find out what neural networks can do for your pattern recognition and prediction tasks.

  • Basic Instincts: Designing With Custom Attributes
    Ted Pattison - May 2005
    One of the most powerful aspects of the Microsoft® . NET Framework is its support for attributes. Attribute-based programming is extremely powerful because it adds a declarative dimension to designing and writing software.

  • Escape DLL Hell: Simplify App Deployment with ClickOnce and Registration-Free COM
    Dave Templin - April 2005
    DLL Hell that results from versioning conflicts is generally not a problem in .NET because components do not require registration, and are either totally isolated to an application or are managed in a well-defined side-by-side way with the help of the Global Assembly Cache. But if you're still using COM, wouldn't it be great if you could deploy your existing COM components using a model similar to the .NET Framework? In Windows XP, you can, and this article explains how.

  • Flex Your Data: Teach Old Data New Tricks with the Fully Loaded Advances in ADO.NET 2.0
    Julia Lerman - April 2005
    ADO.NET 2.0 will streamline your data access development efforts. Its new features let you work better with XML and SQL Server, and they offer lots of other improvements as well. This article takes a detailed look at some of the more interesting enhancements and focuses on performance and flexibility.

  • Advanced Basics: Remembering User Information in Visual Basic .NET
    Duncan Mackenzie - April 2005
    Many applications need to store user-specific settings to be persisted between sessions. But how do you go about saving and restoring these settings in your Microsoft® . NET Framework-based application? It's not all that easy to find the correct answer.

  • Cutting Edge: A New Grid Control in Windows Forms
    Dino Esposito - April 2005
    Grid controls are essential in many of today's apps. Until now, though, most developers using Visual Basic® have had to buy third-party components to get an effective, easy to use grid component. The Windows® Forms DataGrid turned out to lack too many features for the average developer.

  • WSE 2.0: Give Your Web Services Consumers the Exact XML They Need to Succeed
    Chris Dix - March 2005
    Web services use XML to communicate with each other. But sometimes the XML your service emits is not the same XML that another service is expecting. If you want to avoid the problems that this kind of situation can cause, you need to get good control over your XML serialization. Here author Chris Dix shows you exactly how to tackle this problem.

  • Advanced Basics: Doing Async the Easy Way
    Ken Getz - March 2005
    If you've been following Ted Pattison's excellent series of Basic Instincts columns on multithreading and asynchronous behavior, you should by now be an expert on handling the issues involved in working with multiple threads in Windows®-based apps.

  • Office: Relive the Moment by Searching Your IM Logs with Custom Research Services
    John R. Durant - February 2005
    Often, IM conversations contain important information you'd like to keep and reuse. Fortunately, MSN Messenger 6.2 has a feature to keep a conversation history permanently in XML format. This article shows you how to leverage that conversation history by consolidating IM exchanges so they are indexed, searchable, and ultimately reusable using the Microsoft Office 2003 Research and Reference task pane.

  • Excel: Integrate Far-Flung Data into Your Spreadsheets with the Help of Web Services
    Alok Mehta - February 2005
    Excel 2003 lets you dynamically integrate the data provided by different Web services. It also lets you take advantage of the latest capabilities in Office 2003 to customize list views, graphs, and charts, and to catalog bulk items online or offline. Find out how you can makle the most of the data returned from your Web services with the Office 2003 Web Services Toolkit API.

  • Basic Instincts: Using the ReaderWriterLock Class
    Ted Pattison - February 2005
    In several installments over the past year I have written about multithreading programming techniques in Visual Basic® . NET. In the September 2004 issue of MSDN®Magazine, I discussed the need for thread synchronization and how to write thread-safe code using monitors.

  • { End Bracket }: C# and VBA: Like Oil and Water
    Ken Getz - February 2005
    Some things just don't mix as well as you would like. Take C# and Microsoft® Excel 2003 or Word 2003, for example. Not only are these applications huge productivity tools, but they both also provide access to large object models that you can program against from your own applications.

  • Interop: Get Seamless .NET Exception Logging From COM Clients Without Modifying Your Code
    Matt Adamson - January 2005
    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.

  • All About Statics: Get a Charge From Statics with Seven Essential Programming Tips
    K. Scott Allen - January 2005
    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.

  • Advanced Basics: Creating a Five-Star Rating Control
    Duncan Mackenzie - January 2005
    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.

  • Advanced Basics: Calling All Operators
    Ken Getz - December 2004
    This month I found an interesting question in my mailbag. It went something like this: "I am writing some code working with points and other drawing objects in Visual Basic® 2003, and I just want to add an offset to a point, effectively moving the point.

  • Cutting Edge: Implications of Script Callbacks in ASP.NET
    Dino Esposito - December 2004
    Script callbacks in ASP. NET 2. 0 is a feature whose time has come. Script callbacks can significantly speed up an application by limiting server postbacks. They also allow you to execute small portions of server-side code without having to manage the view state for reading or writing.

  • { End Bracket }: Around the World with Visual Basic
    Jay Roxe - December 2004
    The Visual Basic team at Microsoft has spent much of the past eight months out on the road as a part of the Visual Basic® . NET User Group Tour 2004. We've had a chance to visit 13 user groups in the U.

  • Test Run: API Test Automation in .NET
    James McCaffrey - November 2004
    The most fundamental type of software test automation is automated API testing. API testing essentially entails testing the individual methods that make up a software system rather than testing the overall system itself.

  • Advanced Basics: Digital Grandma
    Duncan Mackenzie - November 2004
    As a parent of a young child, I take a lot of pictures—many more than anyone would ever be interested in seeing. Well, anyone except my mother. This is her first grandchild and the one or two pictures I send to her each week only brush the surface of her grandmotherly needs.

  • Advanced Basics: Building a Progress Bar that Doesn't Progress
    Duncan Mackenzie - October 2004
    In many situations, accurately estimating the length of a certain process (copying a large file, loading data from a server, retrieving files from the Internet) would be both difficult and inefficient.

  • SQL Server 2005: Unearth the New Data Mining Features of Analysis Services 2005
    Jamie MacLennan - September 2004
    In SQL Server 2005 Analysis Services you'll find new algorithms, enhancements to existing algorithms, and more than a dozen added visualizations to help you get a handle on your data relationships. Plus, enhancements to the Data Mining Extensions to SQL along with OLAP, DTS, and Reporting Services integration make it possible to create a new breed of intelligent apps with embedded data mining technology. Here the author explains it all.

  • Express Editions: Get a Lean, Mean Dev Machine with the Express Editions of Visual Basic and SQL Server 2005
    Brian A. Randell - September 2004
    The Express Editions of Visual Basic and SQL Server 2005 have lots of the features of the full-sized versions, but with a lot less of the overhead. Professional developer features such as full IntelliSense support, local debugger, Add Web Reference, and the improved Visual Data Tools will all be available in the Express products, so you don't have to leave your favorite features behind. In this article the author introduces you to these express editions and builds a sample app to get you started.

  • Advanced Basics: Being Generic Ain't So Bad
    Ken Getz - September 2004
    Ispeak at a lot of user groups and conferences where I field tech support questions. Recently, a conference attendee (I'll call him Adam) came up to me with a sheaf of printouts, along with the following question.

  • Basic Instincts: Thread Synchronization
    Ted Pattison - September 2004
    My last three Basic Instincts columns have examined techniques for using asynchronous delegates and creating secondary threads. Those columns demonstrated how to introduce multithreaded behavior into your applications.

  • Reporting: Deliver User-Friendly Reports from Your Application with SQL Server Reporting Services
    John C. Hancock - August 2004
    SQL Server 2000 Reporting Services--a server-based reporting platform built on the .NET Framework and integrated with SQL Server 2000--lets you easily add reporting from diverse data sources. Using Visual Studio and Reporting Services you can integrate reports from any data source that has an OLE DB, ODBC, or ADO.NET provider into your Web applications. This article explains how it's done.

  • Data Points: Migrating from ADO to ADO.NET, Part 2
    John Papa - August 2004
    As you move forward with your use of ADO. NET, you'll need to know how to approach situations that you previously learned to handle in ADO and now have to tackle with ADO. NET. Just as n-tiered solutions developed using Visual Basic®, C++, and ASP often rely on ADO for their data access needs, Windows® Forms, Web Forms, and Web services rely on ADO.

  • Advanced Basics: P2P Comm Using Web Services
    Carl Franklin - August 2004
    Iwanted to use my first Advanced Basics column as an opportunity to strike out into new territory, to do something I haven't seen extolled much in the literature, so I've built a Windows® Forms chat program that uses Web services to communicate with other peers.

  • { End Bracket }: C# to Visual Basic Translation Tool
    John Robbins - August 2004
    Having talked to thousands of developers who use the Microsoft . NET Framework, I've heard one consistent complaint: "I really wish all the samples were written in my programming language. " Nothing is more frustrating than having braved the wilds of Internet searches for a snippet of code that does exactly what you want but is written in a language you don't use.

  • Visual Studio 2005: Bridge the Gap Between Development and Operations with Whitehorse
    Brian A. Randell and Rockford Lhotka - July 2004
    Microsoft is introducing a new suite of tools (code-named "Whitehorse") that will make it easier for you to design and implement systems that conform to a service-oriented architecture. Two of these tools -- the SOA Design Suite and the Class Designer -- support the graphical design of systems and components with support for code generation and support for bi-directional synchronization which lets you ensure that your diagram always represents your system design. This article introduces these tools and shows you how they'll improve your design and development efforts.

  • Data Points: Migrating from ADO to ADO.NET
    John Papa - July 2004
    In recent years ADO has taken the lead as the preferred method for implementing data access in Windows®-based applications. Huge numbers of ADO applications are in use today and many developers are well versed in ADO development.

  • Advanced Basics: Data Binding Radio Buttons to a List
    Duncan Mackenzie - July 2004

  • Controls: Plan Your Migration to the Visual Studio 2005 Navigation Controls
    Dave Donaldson and Steven DeWalt - June 2004
    Navigation is central to a well functioning Web application and it can be implemented numerous ways using today's technologies. This article highlights some of the key details of the new navigation controls that are part of the upcoming ASP.NET 2.0, and talks about how to design and implement one of these navigation controls today. This article contains a simple Web site that demonstrates the use of these navigation controls, pointing out some of the key items such as a breadcrumb control and things to watch for along the way. The article then describes how to implement a breadcrumb control today.

  • Web Q&A: Visual Studio 2005, HTC Memory Problems, and More
    Edited by Nancy Michell - June 2004

  • Cutting Edge: Dress Your Controls for Success with ASP.NET 1.1 Themes, Part 2
    Dino Esposito - June 2004

  • Basic Instincts: Creating and Managing Secondary Threads
    Ted Pattison - June 2004

  • Visual Basic: Navigate the .NET Framework and Your Projects with "My"
    Duncan Mackenzie - May 2004
    The next version of Visual Basic, Visual Basic 2005, will include some powerful new features. One of the most interesting is the My language extensions: My.Application, My.Computer, My.Forms, My.Resources, My.Settings, My.User, and My.WebServices. The My language extensions take the idea of helper functions to a whole new level because they include so much functionality out of the box. Called "a speed-dial for the .NET Framework" by the author, the My extensions are a feature you won't want to overlook.

  • Cutting Edge: Dress Your Controls for Success with ASP.NET 1.1 Themes
    Dino Esposito - May 2004

  • Advanced Basics: Create a Graphical Editor Using RichTextBox and GDI+
    Ken Spencer - May 2004

  • Basic Instincts: Updating the UI from a Secondary Thread
    Ted Pattison - May 2004

  • Instrumentation: Powerful Instrumentation Options in .NET Let You Build Manageable Apps with Confidence
    Jon Fancey - April 2004
    As systems grow and become more heterogeneous, so their complexity increases. The more code you write, the more that can go wrong. The more that can go wrong, the more you need a good instrumentation policy. In this article, the author looks at the various technologies available in the .NET Framework, such as tracing, logging, WMI, EIF, which are designed to help you. He will also look at the pitfalls you should avoid and provide you with the fundamentals from both a technical and managerial perspective so that you can instrument your code effectively.

  • Data Points: Creating Audit Tables, Invoking COM Objects, and More
    John Papa - April 2004
    Dealing with error handling between T-SQL and a calling application, evaluating when a field's value has changed, and creating auditing tables in SQL Server™ are all common issues that developers must tackle.

  • Advanced Basics: Synchronizing Multiple Windows Forms
    Ken Spencer - April 2004

  • .NET Matters: Const in C#, Exception Filters, IWin32Window, and More
    Stephen Toub - April 2004
    Welcome to . NET Matters. This new column will delve into the ins and outs of the Microsoft® . NET Framework, answering readers' questions on various topics related to its extensive libraries, languages, and the common language runtime.

  • Talking To…: Robert Green Talks About Communities for Visual Basic .NET
    - April 2004
    MSDN Magazine recently talked to Robert Green, the Community Lead Program Manager for Visual Basic, about what to expect in the next version and how the Visual Basic team hopes to work more closely with the Visual Basic community.

  • Advanced Basics: Extracting Data from .NET Assemblies
    Ken Spencer - March 2004

  • Types in Yukon: Managed UDTs Let You Extend the SQL Server Type System
    Peter W. DeBetta - February 2004
    The next version of SQL Server, code-named "Yukon," will offer enhanced support for user-defined types (UDTs). Because UDTs can be managed by the CLR, you can represent a wide variety of data structures to create types not possible with previous versions of SQL Server. With UDTs you can more precisely control the kind of data your type accepts, resulting in better data management. This article explores UDTs in "Yukon" and covers their design and implementation.

  • Cutting Edge: Owner-Drawing in .NET
    Dino Esposito - February 2004

  • Advanced Basics: Windows Forms Controls: Z-order and Copying Collections
    Ken Spencer - January 2004

  • Basic Instincts: Asynchronous Method Execution Using Delegates
    Ted Pattison - January 2004

  • Talking To…: Carl Franklin Talks About Being a New MVP and His Passion for Visual Basic .NET
    - January 2004

  • Advanced Basics: Windows Forms Q&A
    Ken Spencer - December 2003

  • Talking To…: Steve Lombardi Discusses the Highlights of Microsoft MapPoint 2004
    - December 2003

  • Web Q&A: Secure Passwords, Nested XML, and More
    Edited by Nancy Michell - November 2003

  • Advanced Basics: SQL Server Metadata
    Ken Spencer - November 2003

  • Bugslayer: Google from Visual Studio .NET
    John Robbins - November 2003

  • OLAP: Build an OLAP Reporting App in ASP.NET Using SQL Server 2000 Analysis Services and Office XP
    Jeffrey Hasan and Kenneth Tu - October 2003
    Many organizations analyze their business-critical data using Online Analytical Processing (OLAP) technology. OLAP-based data mining provides a way to query multidimensional data sets and drill down into the data to find patterns. ASP.NET and the Microsoft Office Web Components (OWC) enable Web-based OLAP reporting. The OWC controls include PivotTable and Chart components that can be embedded in a Web page and scripted by programmers. In this article, the authors build a Web-based OLAP reporting app using ASP.NET, OWC, and SQL Server 2000 Analysis Services to illustrate the process.

  • Blogging: Design Your Own Weblog Application from Scratch Using ASP.NET, JavaScript, and OLE DB
    Marco Bellinaso - October 2003
    The ASP.NET advanced templated controls, such as the DataList and DataGrid, are perfect for many data representation situations. However, when you need the flexibility to render a variety of layouts, the Repeater control is what you need. In this article the author builds a full-featured blog application to illustrate the use of the Repeater and DataList controls that render nested data in a master-detail relationship. He then discusses how to override the default implementations of these controls by adding some client-side JavaScript code that makes the blog more responsive and enhances its usability.

  • Advanced Basics: Enterprise Services, SQL Script Editing
    Ken Spencer - October 2003

  • Basic Instincts: Deploying Assemblies
    Ted Pattison - October 2003

  • Office 2003: Bring the Power of Visual Studio .NET to Business Solutions Built with Microsoft Office
    Ken Getz and Brian A. Randell - September 2003
    Microsoft Visual Studio Tools for the Microsoft Office System is a new technology that brings the advanced features of Visual Studio .NET and the .NET Framework to apps built on Microsoft Word 2003 and Excel 2003. Now you can use Visual Basic .NET and C# to write document-centric, managed code solutions that run in-process with Word 2003 or Excel 2003, taking advantage of the rich object models they expose. Along the way you get the benefits of the managed environment in which a fully compiled .NET-based application executes, including code access security.

  • Advanced Basics: Creating Text Images On the Fly with GDI+
    Ken Spencer - September 2003

  • ASP.NET: Jump Start Your Web Site Development with the ASP.NET Starter Kits
    Paul Litwin - August 2003
    If you're building an ASP.NET Web site you could probably use a good, solid code foundation to start with and build upon. Wouldn't it be nice to start with a complete site, make a few tweaks and customizations, and go live? The ASP.NET Starter Kits are packaged solutions that let you do just that. The five kits—Community, Reports, Commerce, Portal, and Time Tracker—supply full, reusable code that can be easily customized. In addition, there are a number of ISPs that support automatic deployment of ASP.NET Starter Kit Web sites, leaving you with little left to do when you have to get there fast. Here, the author introduces the ASP.NET Starter Kits and builds a community Web site with lots of advanced features such as ratings, user polls, upload quotas, change notifications, and themes.

  • Web Q&A: Who Called the Script?, Concatenating Binary Files, and More
    Edited by Nancy Michell - August 2003
    This month find out which part of an HTML document has called a script, how to concatenate binary files, find a node, reference one script from another, build a GUI database front end in Access, and compare XML files.

  • Advanced Basics: Data Binding in Visual Basic .NET
    Ken Spencer - August 2003
    Ken Spencer introduces data binding in Visual Basic .NET.

  • Basic Instincts: Naming and Building Assemblies in Visual Basic .NET
    Ted Pattison - August 2003
    Learn what the different parts of an assembly name mean, how to create a stronly named assembly, and get other assembly security tips.

  • GDI+: A Primer on Building a Color Picker User Control with GDI+ in Visual Basic .NET or C#
    Ken Getz - July 2003
    Although most developers and APIs use the RGB scheme when working with colors, it's not the only available way to represent or select colors. For instance, the standard Windows color-selection dialog box allows you to work with the HSL color scheme in an indirect way. In this article, the author describes several color selection schemes, and uses GDI+ (via the System.Drawing namespace) to create a component that makes it possible for your own applications to provide a simpler, friendlier color chooser. Along the way, you'll get tips to help you use GDI+ in your own apps.

  • Real-World XML: Manipulate XML Data Easily with the XPath and XSLT APIs in the .NET Framework
    Dino Esposito - July 2003
    XPath is emerging as a universal query language. With XPath, you can identify and process a group of related nodes in XML-based data sources. XPath provides an infrastructure that is integral to XML support in the .NET Framework. The XPath navigation model is even used under the hood of the XSLT processor. In this article, the author reviews the implementation details of the XPath navigator and the XSLT processor and includes practical examples such as asynchronous transformations, sorted node-sets, and ASP.NET server-side transformations.

  • Advanced Basics: Passing Data Between Objects in an Application
    Ken Spencer - July 2003

  • Advanced Basics: Adding New Features with User Controls
    Ken Spencer - June 2003
    In past versions of Visual Basic, there were rudimentary graphics controls. In Visual Basic .NET you have the GDI+ library, which enables you to draw lines, circles, and most anything else. But how can you use the functionality of GDI+ to create lines and other graphics that respond to user mouse clicks and events? Find out.

  • Metadata: Create a Database Schema Repository with Meta Data Services in SQL Server 2000
    Alok Mehta and Ricardo Rodriguez - May 2003
    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.

  • Virus Hunting: Understand Common Virus Attacks Before They Strike to Better Protect Your Apps
    Jason Fisher - May 2003
    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.

  • Web Q&A: Storing SQL Data, URL Query Length, and More
    Edited by Nancy Michell - May 2003
    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?

  • Advanced Basics: Windows Forms Controls
    Ken Spencer - May 2003
    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.

  • Basic Instincts: Programming Events of the Framework Class Libraries
    Ted Pattison - May 2003
    Some practical examples of handling some of the more commonly used events in the Microsoft .NET Framework.

  • ADO.NET: Tackle Data Concurrency Exceptions Using the DataSet Object
    David Burgett - April 2003
    ADO.NET provides many techniques for improving the performance of data-intensive applications and for making them easier to build. The DataSet, the hallmark of the ADO.NET object model, serves as a miniature, disconnected facsimile of a data source. While using the DataSet improves performance by reducing expensive trips to the database server, it also introduces the possibility of multiple users attempting to change the same data simultaneously, thereby generating data concurrency exceptions. This article examines the common causes behind data concurrency exceptions and presents techniques for overcoming them.

  • Data Access: Implement a Data Access Layer for Your App with ADO.NET
    Dan Fox - April 2003
    Implementing data access functionality is a core activity of most developers working with the .NET Framework, and the data access layers they build are an essential part of their applications. This article outlines five ideas to consider when building a data access layer with Visual Studio .NET and the .NET Framework. The tips include taking advantage of object-oriented techniques and the .NET Framework infrastructure by using base classes, making classes easily inheritable by following guidelines, and carefully examining your needs before deciding on a presentation method and external interface.

  • Editor's Note: MP3 Playlists with Visual Basic .NET
    - April 2003
    Although it's been several months since the slammer virus hit SQL Server installations, we'd like to offer a public service announcement for anyone who hasn't patched their machine yet. PATCH YOUR MACHINE NOW! We found out the hard way that it can hit any machine that runs SQL Server and is attached to the network.

  • Advanced Basics: Visual Studio .NET 2003 Usage Tips
    Ken Spencer - April 2003

  • Visual Studio .NET: What You Need to Know Today About the New and Upgraded Features in Visual Studio .NET 2003
    Carl Franklin - March 2003
    Any time an upgrade of a favorite tool is released, questions about compatibility, versioning, and changes in methodology abound. The release of Visual Studio .NET 2003 is no exception. Developers will be relieved to learn that breaking changes have been kept to a minimum, and delighted to learn that important new features, like Visual J#, have been added. These and other new features of the .NET Framework 1.1 and Visual Studio .NET 2003, including mobile support and improved debugging, are discussed here.

  • Web Q&A: IDs as Anchors, Preventing Search, and More
    Edited by Nancy Michell - March 2003

  • Advanced Basics: Handling Null Values with Controls
    Ken Spencer - March 2003

  • Basic Instincts: Static Event Binding Using WithEvents
    Ted Pattison - March 2003
    This month's Basic Instincts column builds upon my last three columns in which I introduced and explained the fundamental concepts and syntax associated with delegates and events. Last month I showed you how to design and write a simple class that defines and raises events.

  • Delegates in .NET: A Primer on Creating Type-Safe References to Methods in Visual Basic .NET
    Jesse Liberty - February 2003
    Delegates, new in Visual Basic .NET, are type-safe, object-oriented references to methods. By using delegates, you make your methods accessible to others and therefore more extensible. This article provides an introduction to delegates, their benefits, and how they are used.Here the author shows you how to declare, create, and use delegates to invoke instance and shared methods at run time, and how to implement delegates as properties. He then goes on to provide examples of how delegates are used for callback functionality and explains the relationship between delegates and events. Finally, the article provides a glimpse at how delegates are implemented in intermediate language code by the Visual Basic .NET compiler.

  • Web-Aware Apps: Build Hyperlinks into Your Client App with the Windows Forms LinkLabel Control
    Dan Hurwitz - February 2003
    LinkLabels are Windows Forms controls that enable a user to hyperlink to a URL that points to either the Web or the local directory system. While the SDK documentation discusses the control, it does not demonstrate how linking is accomplished, nor does it outline the power and flexibility the control provides. This article fills those gaps, showing how to link using the LinkLabel control. It also shows the flexibility of this control for the programmer using the .NET Framework. In addition, the author covers the large number of properties that allow you to customize your controls and accurately place them. Their built-in behaviors are also discussed, along with their use in both Visual Basic .NET and C#.

  • Web Q&A: Data Shredding, Updating the Status Bar, and More
    Edited by Nancy Michell - February 2003

  • Advanced Basics: Automatically Generating Proxy Classes
    Ken Spencer - February 2003

  • Basic Instincts: Programming with Events Using .NET
    Ted Pattison - February 2003
    This month's Basic Instincts column builds upon my last two columns in which I talked about concepts and programming techniques associated with delegates. I will assume you have read the last two installments of this column and that you understand the role that delegates play within the Microsoft® .

  • Advanced Basics: Automatically Generating a Web Service
    Ken Spencer - January 2003

  • Advanced Basics: Automatically Generating a Web Service
    Ken Spencer - January 2003

  • Basic Instincts: Implementing Callbacks with a Multicast Delegate
    Ted Pattison - January 2003
    This month's column is a follow-up to the December 2002 installment in which I introduced the basic concepts and programming techniques associated with delegates. I am going to assume you have already read that column and that you are familiar with the fundamentals of programming delegates.

  • Office XP: New Toolkit Lets You Share Information Between Office Documents and Web Services
    Krishnamurthy Srinivasan - December 2002
    The Office XP Web Services Toolkit makes it possible to build applications that gather information and trigger transactions through various Web Services. The toolkit allows you to easily discover Web Services remotely. It also includes the Web Service Reference Tool, which lets you call a Web Service from inside an Office application. This article shows how toolkit-generated code can be used to access simple, as well as complex, Web Services.The author steps through the auto-generated code to explain the classes that collect parameters, the schema to format the request/response, and the actual operations of the Web Service.

  • Web Farms: Use Data Caching Techniques to Boost Performance and Ensure Synchronization
    David Burgett - December 2002
    Performance is an important concern for any application, but becomes critical when the app is a Web Service accessed by thousands of clients simultaneously. One hardware approach to distributing Web Services requests evenly is a Web farm consisting of multiple servers. Once on a Web farm, Web Service performance can be improved by using ADO.NET DataSet objects to cache frequently accessed data, reducing round-trips to the database. Here the author describes data caching in a Web farm environment and discusses how to avoid the cross-server synchronization problems inherent in this approach.

  • Design: Place XML Message Design Ahead of Schema Planning to Improve Web Service Interoperability
    Yasser Shohoud - December 2002
    Web Services are all about exchanging data in the form of XML messages. If you were about to design a database schema, you probably wouldn't let your tool do it for you. You'd hand-tool it yourself to ensure maximum efficiency. In this article, the author maintains that designing a Web Service should be no different. You should know what kind of data will be returned by Web Service requests and use the structure of that data to design the most efficient message format. Here you'll learn how to make that determination and how to build your Web Service around the message structure.

  • Provisioning: Use Web Services Provisioning to Control Access, Usage, and Billing on Your Site
    Chandu Thota - December 2002
    Building Web Services to provide enterprise-level solutions is only the first step. You need to take care of the infrastructure aspects of your solution as well, including provisioning, billing, security, and reporting. In this article, the author uses the .NET Framework and SQL Server 2000 to design a provisioning system that will take care of all these housekeeping tasks. He discusses the general requirements of a Web Service provisioning system, walks through the implementation, and then outlines various scenarios for putting this system to work.

  • Advanced Basics: Advanced Features in Visual Basic .NET and Testing for Scalability
    Ken Spencer - December 2002

  • Basic Instincts: Implementing Callback Notifications Using Delegates
    Ted Pattison - December 2002
    Delegates are a critical aspect of the Microsoft® . NET Framework and are required learning for many programmers. They will take some time to master, but once you learn how to program with delegates, you'll be thrilled with the possibilities they offer.

  • Wireless Web: Microsoft Mobile Internet Toolkit Lets Your Web Application Target Any Device Anywhere
    Paul Yao and David Durant - November 2002
    If you've built Web sites using ASP.NET, you'll welcome the Microsoft Mobile Internet Toolkit (MMIT). MMIT extends the Visual Studio .NET IDE you already know by providing new controls for handheld devices letting you easily develop applications for wireless devices. This means you can write less code while adapting it to more devices. Not only does MMIT integrate with Visual Studio .NET, it extends ASP.NET as well. This article gives you the background you need to write, test, and deploy a site with MMIT and make all your code able to target specific devices for a custom fit.

  • CLR Debugging: Improve Your Understanding of .NET Internals by Building a Debugger for Managed Code
    Mike Pellegrino - November 2002
    With the release of .NET, the Microsoft scripting strategy has evolved. Script engines can now compile or interpret code for the Microsoft common language runtime (CLR) instead of integrating debugging capabilities directly into apps through Active Scripting. With that change comes a new set of published services for including debugging functionality in a custom host application. You'll see how to use the debugging services published in the .NET Framework to create a full-featured CLR debugger that allows you to set breakpoints, view call stacks, browse variables, view processes, enumerate threads, and perform other important debugging tasks.

  • .NET Exceptions: Make the Transition from Traditional Visual Basic Error Handling to the Object-Oriented Model in .NET
    Jesse Liberty - November 2002
    If you're used to Visual Basic 6.0 and you're making the transition to Microsoft .NET, you will find that error handling is quite different from what you've used for years. Visual Basic .NET uses a more object-oriented solution to signaling and responding to unexpected problems while your program is running. This approach, called structured exception handling, has a number of advantages over the On Error statements provided in previous versions of Visual Basic. For instance, exceptions give you lots more information about exactly what went wrong in your app. To help you take advantage of this modern error handling paradigm, this article will show you how to raise and respond to exceptions, as well as how to create your own custom exception classes.

  • Advanced Basics: Using MSMQ with Visual Basic .NET
    Ken Spencer - November 2002

  • .NET Remoting: Design and Develop Seamless Distributed Applications for the Common Language Runtime
    Dino Esposito - October 2002
    Prior to the advent of .NET, DCOM was the underlying technology for remote communications between Windows-based applications. But DCOM is quirky to set up and configure and not as interoperable as it should be. In .NET, XML Web Services and .NET Remoting are a seamless and effective answer to the demand for tools to build distributed applications.This article provides a primer on .NET Remoting with insights into the internal plumbing. Important aspects of remoting, such as channels, object lifetime management, and clients for remote objects are discussed. In addition, some practical examples are provided.

  • Spider in .NET: Crawl Web Sites and Catalog Info to Any Data Store with ADO.NET and Visual Basic .NET
    Mark Gerlach - October 2002
    Visual Basic .NET comes loaded with features not available in previous versions, including a new threading model, custom class creation, and data streaming. Learn how to take advantage of these features with an application that is designed to extract information from Web pages for indexing purposes. This article also discusses basic database access, file I/O, extending classes for objects, and the use of opacity and transparency in forms.

  • Advanced Basics: Building an Attribute Documenter and Viewer
    Ken Spencer - October 2002

  • Basic Instincts: Objects and Values, Part 2: Memory Management
    Ted Pattison - October 2002
    In the June 2002 installment of Basic Instincts I began a discus-sion of objects and values. This month I'll build on that column, so I will assume you've read the June installment and that you know the fundamental differences between value types and reference types.

  • Passport Secure Sign-In: Provide Your Users with Secure Authentication Capabilities Using Microsoft .NET Passport
    Michael Kogotkov-Lisin - September 2002
    Secure sign-in, a new feature in version 2.0 of the .NET Passport single sign-in and profile service, is a functionality that will be especially useful for sites containing confidential information or anywhere security is a primary concern. Such sites include banks, medical sites, and so on. Secure sign-in is as safe as any SSL-based Web site login used today and provides a way to virtually eliminate vulnerability to replay and dictionary attacks.This article explains secure sign-in and demonstrates how you can implement this feature with very little effort in either ASP using the Passport.Manager COM object or in ASP.NET using the .NET class PassportIdentity.

  • Cutting Edge: Using an Eval Function in Web Services
    Dino Esposito - September 2002
    Web Services are often presented as the perfect tool for pro-grammers. They're interoperable, based on open standards such as SOAP and WSDL, and are fully integrated with the Microsoft® . NET platform.

  • Advanced Basics: Reducing Memory Footprints, Gathering Process Info with MSDNMagProcessMonitor
    Ken Spencer - September 2002

  • Scripting SQL: VBScript Interfaces in SQL Server 2000 Let You Transform Data and Provide Reports to Your Users
    Alok Mehta and Daniel Williams - August 2002
    Application service providers often must send information to clients automatically rather than on-demand. For example, a manufacturer may want to know each day how many of their products were sold by a retail chain. While SQL Server is ideal for maintaining this type of database, you have to write scripts to get the data out in a client-friendly format. Here you will see how you can use Data Transformation Services (DTS), a powerful tool in SQL Server, to automate the retrieval and formatting of data from SQL Server 2000 and make the process of pushing data to your users a lot easier.

  • Commerce with ASP.NET: Leverage the Authentication and Form Validation Features of ASP.NET to Bolster Your Commerce App
    Jason Lefebvre and Robert Lair - August 2002
    If you're planning to build an e-commerce site, you'll be pleased to see that ASP.NET makes it easier than ever. Existing controls can be used and extended to add a great deal more functionality than you might expect. In this article, forms-based authentication is used to verify the identity of users and make certain areas of the site, such as the check-out page, inaccessible to unauthorized users. The power and flexibility of validation controls are demonstrated using the CustomValidator control to connect to a Web Service that verifies addresses. A shopping cart is then implemented in ASP.NET using the DataGrid, and finally, credit card authorization and billing are performed.

  • Cutting Edge: Designing Reader Classes for .NET Documents
    Dino Esposito - August 2002

  • Advanced Basics: Best Practices for Windows Forms Applications
    Ken Spencer - August 2002

  • Web Q&A: HTML Table Control, WindowClosing Event, Numerous ActiveX Controls, and More
    Edited by Nancy Michell - July 2002

  • Cutting Edge: Designing Extensible Windows Forms Applications
    Dino Esposito - July 2002

  • Advanced Basics: Viewing the Values of a DataSet in a Debug Window
    Ken Spencer - July 2002

  • ASP.NET: Develop Polished Web Form Controls the Easy Way with the .NET Framework
    David S. Platt - June 2002
    Pre-built custom controls make application design easier and faster and allow you to maintain UI consistency. However, prepackaged controls can be big and slow, and are OS-specific. For those who don't want to use prepackaged controls, Visual Studio .NET provides controls for Web Forms similar to those found in Windows Forms, including label and textbox, and new additions such as the DataGrid, all of which you can customize. If you want to design your own controls, the .NET Framework provides inheritable classes that take care of all the nasty stuff you want to avoid, including page lifecycle, maintaining state across invocations, and browser detection. This article discusses these concepts, as well as eventing, rendering, and client-side scripting.

  • Security: Protect Private Data with the Cryptography Namespaces of the .NET Framework
    Dan Fox - June 2002
    The .NET Framework includes a set of cryptographic services that extend the services provided by Windows through the Crypto API. In this article, the author explores the System.Security.Cryptography namespace and the programming model used to apply cryptographic transformations. He discusses reasons why cryptography is easier in .NET than it was before, including the easy programmatic acccess developers have to the cryptography APIs and the difference between symmetric and asymmetric algorithms. Along the way, a brief discussion of the most widely used algorithms, including RSA, DSA, Rijndael, SHA, and other hash algorithms, is provided.

  • Editor's Note: Scratching Out Web Bugs
    - June 2002

  • Advanced Basics: How to Use Objects
    Ken Spencer - June 2002

  • Basic Instincts: Objects and Values, Part I
    Ted Pattison - June 2002

  • Crystal Reports: Add Professional Quality Reports to Your Application with Visual Studio .NET
    Andrew Brust - May 2002
    Crystal Reports for Visual Studio .NET provides a comprehensive reporting solution for .NET developers that is thoroughly integrated with both the Visual Studio .NET IDE and the .NET Framework. Crystal Reports supports ADO.NET, XML Web Services, and ASP.NET server controls and caching. It also integrates seamlessly with the Visual Studio .NET Server Explorer, toolbox, and design environment. It has a rich programming model and flexible options for customizing and deploying reports. These major features and others covered here take the drudge work out of data representation in your own applications.

  • Data Points: Building a Tiered Web App Using the DataSet and the ASP DataGrid
    John Papa - May 2002

  • Advanced Basics: Handling Transactions Between .NET Components
    Ken Spencer - May 2002

  • Windows Forms: Developing Compelling User Controls that Target Forms in the .NET Framework
    David S. Platt - April 2002
    In the beginning, writing controls meant dealing with Windows messages. Then came Visual Basic controls, which introduced methods, properties, and events. Later, ActiveX controls, which ran atop COM, became popular. While each innovation in control writing brought more flexibility, nothing has matched the versatility of the new .NET Windows Forms controls and Web Forms controls. This article, the first of a two-part series, introduces the reader to Windows Forms, beginning with their inheritance from one of the .NET CLR base classes, which makes control creation much faster than before. Control programming is illustrated through the development of a login control. The equally flexible Web Forms controls will be covered in Part 2.

  • Virus Hunting: Track and Report Server Attacks Quickly and Easily with the .NET Networking Classes
    G. Andrew Duthie - April 2002
    To help stop the spread of worms, viruses, and other hostile activity, it is important to track down and report the servers used in these attacks along with those used to send spam. Many Web administrators, however, don't take the time to track them because the manual process can be quite cumbersome. The Microsoft .NET Framework comes to the rescue with several networking classes, including the Dns class and the TcpClient class, that abstract away the complexity of performing DNS and WHOIS lookups. These classes make it easy to create a simple, straightforward ASP.NET-based utility for performing these lookups and automating this very important task.

  • ASP.NET: Selectively Enable Form Validation When Using ASP.NET Web Controls
    James M. Venglarik II - April 2002
    Sometimes the extra controls that come with Visual Studio .NET can be a bit inflexible or they just don't provide enough functionality or flexibility for all situations. The ASP.NET form validation controls, while powerful and easy to use, require that the entire page be valid before it's submitted back to the server. Through the use of the new object-oriented features of Visual Basic .NET, it is possible to extend their functionality to overcome this limitation. This article tells you how and helps you decide when it's a good idea to keep validation on the client and when you'd be better off disabling it.

  • SharePoint Portal Server 2001: Search and Access Disparate Data Repositories in Your Enterprise
    Kayode Dada - April 2002
    The knowledge worker is greatly empowered if she is able to access information across the enterprise from a central access point. With the SharePoint Portal Server 2001 Search Service you can catalogue information stored in Exchange public folders, on the Web, in the file system, and even in Lotus Notes databases. This article discusses the use of ActiveX Data Objects and the Web-based Distributed Authoring and Versioning protocol for creating search solutions based on SharePoint Portal Server 2001.

  • Advanced Basics: Visual Studio .NET, Debugging .NET Applications, and More
    Ken Spencer - April 2002

  • Windows CE: Develop Handheld Apps for the .NET Compact Framework with Visual Studio .NET
    Larry Roof - March 2002
    Smart Device Extensions (SDE) for Visual Studio .NET allow programmers to develop applications for the .NET Compact Framework, a new platform that maintains many of the features of the .NET Framework in a version optimized for handheld devices. This article shows how SDE provides access through Visual Studio .NET to a variety of .NET classes for devices running Windows CE, including classes for creating user interfaces. Data access classes and Web Services for the .NET Compact Framework are also explained. Following that overview, a sample Web Service called XMLList is built. Then the UI-the XMLList client-side application-is created.

  • Web Q&A: Node Lookups, Automatic Downloads, Get Node Names, XPath Expressions, and More
    Edited by Nancy Michell - March 2002

  • The XML Files: Extending XSLT with JScript, C#, and Visual Basic .NET
    Aaron Skonnard - March 2002

  • Advanced Basics: Visual Studio .NET: Setting Tab Order, Loading the Toolbox with an Add-in
    Ken Spencer - March 2002

  • Web Q&A: Threading in MSXML, Sorting XML, Order-by, Changing Mouse Pointer, and More
    Edited by Nancy Michell - February 2002

  • The XML Files: Publishing and Discovering Web Services with DISCO and UDDI
    Aaron Skonnard - February 2002

  • Data Points: Establishing Relationships Between Rowsets with ADO.NET
    John Papa - February 2002

  • Advanced Basics: COM+ and MTS, DCOM and MSMQ, Serialization in .NET
    Ken Spencer - February 2002

  • Office XP: Build a Custom DLL to Expose Your Objects and Services Through Smart Tag Technology
    Paul Sanna - January 2002
    Smart Tags is a new technology delivered with Office XP that makes it easy for users to complete common tasks on familiar and relevant data regardless of the application they are using. Microsoft provides tools to make it easy to roll out simple Smart Tag applications using XML as a backbone. The Smart Tag SDK provides the detail needed to build a COM automation server for Smart Tags in Visual Basic or Visual C++. This article brings the reader through the SDK to outline the process of building a Smart Tag DLL using the tag recognizer and the action provider to create customized user experiences.

  • SQL and Outlook: Enable Database Access and Updates Through Exchange and Any E-mail Client
    Alok Mehta and Daniel Williams - January 2002
    Using Microsoft technologies, you can insert, edit, query, and delete database entries using any e-mail client such as Hotmail, Outlook, Yahoo, or even WAP phone. While e-mail is certainly a powerful and widely used tool, it is usually not integrated with an application for performing any tasks other than sending reminders. The application scenario described here, an e-mail-based SQL update program, uses a simple data model; however, this solution will apply to any data model that you are working with. It will also eliminate the need for complex n-tier Internet applications and serves as a low maintenance solution for providing data access.

  • SQL Server 2000 and XML: Developing XML-Enabled Data Solutions for the Web
    Scott Howlett and Darryl Jennings - January 2002
    Using XML for data access allows you to separate the data from the presentation, and promotes reuse, extensibility, and division of labor. XML also has a simplified data model, which promotes easier testing. This article presents and compares five data access approaches, using a variety of technologies including ASP and ADO, XSLT, and DirectXML. Once built, the solutions are compared on the basis of their speed and efficiency.

  • BizTalk and XML: Add E-Commerce to Your App with XML and SQL Server 2000
    Christian Thilmany - January 2002
    XML support in SQL Server lives up to the hype that's always surrounded XML. Using SQL Server 2000, you can send queries over HTTP, save XML records to the database, and retrieve records via XML. This article shows how you can take advantage of these features in SQL Server 2000 by building a database entry system that keeps track of sales and customer information. The sample app presented here uses updategrams to make the database updates. To accomplish this, the mapping and usage of updategrams is explained. In this example, BizTalk is used to illustrate the XML capabilities of SQL Server 2000.

  • The XML Files: Object Graphs, XPath, String Comparisons, and More
    Aaron Skonnard - January 2002

  • Data Points: Using the ADO.NET DataSet for Multitiered Apps
    John Papa - January 2002

  • Advanced Basics: Namespaces, Cursors, ADO.NET, Web Services, Inheritance, and More
    Ken Spencer - January 2002

  • Windows Services: New Base Classes in .NET Make Writing a Windows Service Easy
    Ken Getz - December 2001
    Windows services are applications that run outside of any particular user context in Windows NT, Windows 2000, or Windows XP. The creation of services used to require expert coding skills and generally required C or C++. Visual Studio .NET now makes it easy for you to create a Windows service, whether you're writing code in C++, C#, or Visual Basic. You can also write a Windows service in any other language that targets the common language runtime. This article walks you through the creation of a useful Windows service, then demonstrates how to install, test, and debug the service.

  • Windows Media Technologies: Using Windows Media Rights Manager to Protect and Distribute Digital Media
    Andrea Pruneda - December 2001
    Media distributors have been looking for a way to prevent users from getting saleable content for free ever since independent distributors and peer-to-peer systems began distributing files without licensing them. Windows Media Services addresses these concerns by providing encryption, licensing, and management capabilities. One of its components, Windows Media Rights Manager, allows companies to issue licenses that consumers must pay for before their media files will play. This article explains this and other components of Windows Media Services so you can begin protecting your media files today.

  • The XML Files: What's New in MSXML 4.0
    Aaron Skonnard - December 2001

  • Basic Instincts: Using Inheritance in the .NET World, Part 2
    Ted Pattison - December 2001

  • Web Q&A: A Look at Usability
    Edited by Nancy Michell - November 2001

  • Basic Instincts: Using Inheritance in the .NET World
    Ted Pattison - November 2001

  • BizTalk: Implement Design Patterns for Business Rules with Orchestration Designer
    Christian Thilmany and Todd McKinney - October 2001
    Because the value of good software planning and design should never be underestimated, it can be beneficial to use one of the many existing design patterns as a foundation for solving some of your toughest architecture problems. This article describes several traditional design patterns including the Observer pattern and the Dispatcher pattern, elaborates on their structures, what they're used for, and how they can help you build a BizTalk-based solution. Following this is a discussion on using the BizTalk Orchestration Designer to build designs and integrate existing business processes.

  • Web Q&A: XML to HTML, Editable Dropdown List, Sending Large XML Files to SQL, Streaming Media, and More
    Edited by Nancy Michell - October 2001

  • .NET Migration Case Study: Using ASP.NET to Build the Web Site
    Jay Schmelzer - September 2001
    When the Web site used to collect customer feedback about the Visual Studio .NET beta needed an update, the Visual Studio team saw a good opportunity to implement, deploy, and showcase a real-world site using .NET technologies. This article covers the migration of the Web site,, from components written in Visual Basic 6.0 and ASP hosted on Microsoft Internet Information Services (IIS) 5.0 to ASP.NET and the .NET Framework. The choices of technologies to be incorporated, along with issues such as validation, security, and authentication, are all discussed. Both existing components and the new components written in JScript and ASP.NET that were used to migrate the site are also explained.

  • Advanced Basics: Compile Options, Loading Images into PictureBoxes, Deploying .NET Apps, and More
    Ken Spencer - September 2001

  • .NET Interop: Get Ready for Microsoft .NET by Using Wrappers to Interact with COM-based Applications
    David S. Platt - August 2001
    Very soon, the development of Microsoft .NET applications will require interaction between those apps and existing COM components on both the client and the server. The .NET Framework has made provisions for this interaction by implementing various wrappers for COM objects to allow exposure of their properties and methods to .NET components. These wrappers will make it easy to make the connection between COM and .NET. After discussing wrappers, this article discusses other ways for .NET components to take part in COM+ transactions. To top off the tutorial on the interoperation of COM and .NET, the article discusses how ActiveX containers can host .NET controls, and how .NET containers can host ActiveX controls.

  • SQL and XML: Use XML to Invoke and Return Stored Procedures Over the Web
    Dave Grundgeiger, Anson Goldade, and Varon Fugman - August 2001
    Front-end developers frequently want to add functionality to the presentation tier of an n-tier architecture, but such requests can require changes on all tiers just to get the data and present it. This process can be made easier and more flexible by using SQL Server stored procedures to automate the delivery of data in XML format from the database to the front-end components. In the component presented here, stored procedures are invoked by XML strings, XML is returned, converted using XSL, and presented to the client in HTML. The technique supports rapid changes yet doesn't sacrifice the n-tier approach. This approach can be used with either SQL Server 7.0 or SQL Server 2000.

  • Data Points: ADO to XML: Building a Data Access Tier with the DataManager Component
    John Papa - August 2001

  • Basic Instincts: Exploiting New Language Features in Visual Basic .NET, Part 2
    Ted Pattison - August 2001

  • Visual Basic .NET: Tracing, Logging, and Threading Made Easy with .NET
    Yasser Shohoud - July 2001
    Visual Basic has always been a language of innovation, but at the same time it's left its proponents wanting certain high-level features. With the upcoming version, Visual Basic .NET, the language takes advantage of the Microsoft .NET Framework to provide several new features that will be vital to developers. This article begins by discussing tracing and error logging in Visual Basic .NET. Next, you'll see how to write a Windows service without third-party help. Monitoring the file system, a previously daunting task, is also covered. Finally, the author ties these concepts together with a sample application that waits for XML files to be deposited in a directory and then imports them into SQL Server database.

  • Web Q&A: Office Chart Control, Opening Windows in ASP, Getting a Referred URL, and More
    Edited by Nancy Michell - July 2001

  • The ASP Column: ASP.NET Connection Model and Writing Custom HTTP Handler/Response Objects
    George Shepherd - July 2001

  • Advanced Basics: Happy 10th Birthday, Visual Basic
    Ken Spencer - July 2001

  • SQL Server CE: New Version Lets You Store and Update Data on Handheld Devices
    Paul Yao and David Durant - June 2001
    Handheld device users need to be able to synchronize with a main data store when it's convenient and, preferably, when the back-end database server isn't busy. SQL Server 2000 Windows CE Edition allows you to build a traveling data store that can be displayed and run on a variety of devices. SQL Server CE supports a subset of the full SQL Server package, and can be used as a standalone server or in tandem with SWL Server and IIS. The architecture of SQL Server CE, along with data manipulation, synchronization, and connectivity issues, are discussed in this article. Topics such as making your data public, choosing the right type of replication, and handling errors are also covered.

  • .NET Mobile Web SDK: Build and Test Wireless Web Applications for Phones and PDAs
    Eric Griffin - June 2001
    Cell phones, PDAs, and other wireless devices that connect with the Internet enjoy growing popularity, making wireless applications more important and especially useful to companies with remote employees. This article presents an overview of the .NET Mobile Web SDK for building wireless apps. The technologies and design decisions that influence the development of mobile Web applications are discussed along with specific strategies for setting up a development environment using an emulator and building a real-world mobile Web application.

  • WinInet: Enable HTTP Communication in Windows-Based Client Applications
    Todd Meister - June 2001
    The Internet provides the infrastructure for applications to communicate, and that can include non-UI communication between Win32-based applications. If you think beyond the standard browser usage of HTTP, you can use this protocol to retrieve information from Win32-based applications and save it to a Web server. After explaining how HTTP can be used in this way, this article shows how to use Microsoft SQL Server, ASP, IIS, WinInet, and Visual Basic to implement two examples. The first reports usage data-how often an application is used and by whom. The second monitors application errors and reports error details for use by helpdesk staff or engineers in the debugging process.

  • Data Points: Revisiting the Ad-Hoc Data Display Web Application
    John Papa - June 2001

  • Advanced Basics: Using Inheritance in Windows Forms Applications
    Ken Spencer - June 2001

  • Exchange 2000 WSS: Web Storage System Improves Exchange Data Accessibility
    Sean McCormick - May 2001
    The Web Storage System (WSS) in Exchange 2000 is a Web-accessible database that stores any type of data such as e-mail, contacts, appointments, threaded discussions, and multimedia files, and renders the data in HTML in any browser. WSS is based on Internet standards, therefore data can be accessed through URLs, an Exchange OLE DB provider, drive mapping, XML, and Web Documenting and Versioning (WebDAV). This article discusses the WSS schema and how to extend the default schema for custom data. A sample application that uses a custom schema and a custom form to display WSS data is available for download.

  • Go Global: Localizing Dynamic Web Apps with IIS 5.0 and SQL Server
    Jeremy Bostron and Doug Rothaus - May 2001
    The success of a database-driven international Web site depends on how well the code and localized content work together with the software on the client and server. Localizing a dynamic Web site is more complicated than localizing a static one. The use of HTML and ASP code for static and dynamic content on IIS 4.0 or 5.0, coupled with Microsoft Data Access Components (MDAC) and SQL Server, enables Web sites to support as many languages as necessary. Choosing the right character sets and code pages, the variations in the Unicode support for IIS 4.0 and 5.0, as well as ways to avoid some common pitfalls are all discussed.

  • SQL Server and DMO: Distributed Management Objects Enable Easy Task Automation
    Francesco Balena - May 2001
    SQL Server can be administered programmatically using system stored procedures, but Distributed Management Objects (DMO) offer a more modern, object-oriented alternative. This article introduces SQL-DMO in SQL Server 7.0 and SQL Server 2000 and describes the SQL-DMO object model, then focuses primarily on the Databases tree and the JobServer tree of the object model. The sample code and the article show how to use various objects such as the Registry object, the Configuration object, and the Database object to automate common administration tasks such as programmatically retrieving configuration settings, creating new databases, applying T-SQL scripts, and creating and scheduling backups.

  • Basic Instincts: New Features in Visual Basic .NET: Variables, Types, Arrays, and Properties
    Ted Pattison - May 2001

  • SOAP Toolkit 2.0: New Definition Languages Expose Your COM Objects to SOAP Clients
    Carlos C. Tapang - April 2001
    In SOAP Toolkit 2.0, the Services Description Language (SDL) has been replaced with the Web Services Description Language (WSDL) and the Web Services Meta Language (WSML). WSDL and WSML files describe the interfaces to a service and expose COM objects to SOAP clients. This article describes a custom tool, IDL2SDL, which takes an IDL file and produces WSDL and WSML files without waiting for a DLL or TLB file to be generated. Also shown is a customized development environment in which WSDL and WSML files automatically reflect the changes to IDL files.

  • Serving the Web: Windows Forms in Visual Basic .NET
    Ken Spencer - April 2001

  • COM: Handle Late-bound Events within Visual Basic Using an ATL Bridge
    Carlo Randone - March 2001
    Since a Visual Basic client doesn't handle events directly from late-bound COM objects, it needs some way to capture all the events and parameters launched by any COM object server instantiated at runtime and not known at design time. This article explains how to build a bridge component that does just that. The bridge component transmits the intercepted event data back to the Visual Basic client using another supporting COM object that is capable of holding event data and attributes. The Visual Basic client receives the notification from the bridge and extracts all the information relative to the event from the supporting object.

  • Web Q&A: Detecting Security Settings, Printing from the WebBrowser Control, Hiding the Print Button, and More
    Robert Hess - March 2001

  • Serving the Web: HTML Scraping with Visual Basic and AsyncRead
    Ken Spencer - March 2001

  • Visual Basic .NET: New Programming Model and Language Enhancements Boost Development Power
    Ted Pattison - February 2001
    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.

  • Web Services: Building Reusable Web Components with SOAP and ASP.NET
    David S. Platt - February 2001
    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.

  • Web Q&A: Scripting Interoperability, Login Control on a Web Farm, Custom Refreshes, App Servers, and More
    Robert Hess - February 2001

  • Serving the Web: Driving Visio 2000 from Visual Basic
    Ken Spencer - February 2001

  • Cutting Edge: The Component Model in ASP.NET
    Dino Esposito - February 2001

  • Digital Dashboards: Web Parts Integrate with Internet Explorer and Outlook to Build Personal Portals
    Maarten Mullender - January 2001
    Digital dashboards gather information and functionalities from a wide variety of sources ranging from Web pages to applications such as Microsoft Outlook and SQL Server, and present the resulting information in a single user interface. Digital dashboards built with the Digital Dashboard Resource Kit (DDRK) are made up of distinct units called Web Parts. Web Parts, introduced with the DDRK 2.01, can contain any Web-based information, are reusable, and integrate with each other and with other dashboards. Creating Web Parts and getting them to work together is illustrated via a sample application that uses a PivotTable view. Integrating Web Parts with Outlook, the Outlook View control, storage, and debugging are also covered.

  • Pocket PC: Migrating a GPS App from the Desktop to eMbedded Visual Basic 3.0
    Joshua Trupin - January 2001
    A Global Positioning System (GPS) device captures lots of interesting information that can be used in many ways. This article presents a custom application built with Visual Basic that collects data from a GPS satellite and charts the course of a user relative to the satellite. Such an application is obviously well suited for use on a handheld PC and porting the original application to eMbedded Visual Basic for Windows CE is described. The differences between Visual Basic and eMbedded Visual Basic, such as support for specific control and data types, are explained. Tips for dealing with reduced screen real estate on a handheld PC, debugging, and running in an emulator are also discussed.

  • XML Wrapper Template: Transform XML Documents into Visual Basic Classes
    Dave Grundgeiger and Patrick Escarcega - January 2001
    The XML Wrapper template described in this article transforms XML documents into Visual Basic classes, hiding the more complex parts of using the Microsoft XML parser. Developers who have little knowledge of XML or the Microsoft XML parser can use classes created with the template, thus making it easier to use XML in their projects. This article describes the template, shows classes in a sample application based on the template, and explains how to customize those classes to support repeating child elements. Although this project is illustrated using Visual Basic 6.0, the technique can be extended for use with other versions of Visual Basic and with other languages.

  • Web Q&A: Printing from a Web Page, Screen Scraping, Origin of an HTTP Request, and More
    Robert Hess - January 2001

  • Serving the Web: Stored Procedure Wizard in Visual Basic Boosts Productivity
    Ken Spencer - January 2001

  • Visual Basic: Inspect COM Components Using the TypeLib Information Object Library
    Jason Fisher - December 2000
    The built-in Object Browser in Visual Basic, like other component browsers such as OLE View and XRay, is one of the more useful tools. But an even better tool would be customizable. You can build your own type library browser using the TypeLib Information Object Library (TLI), a set of COM objects designed to allow programmers to browse type libraries programmatically. This article explains type libraries and the TLI object model, and shows how to use the collections to get information about objects, leading to the creation of a custom type library explorer.

  • ActiveX and Visual Basic: Enhance the Display of Long Text Strings in a Combobox or Listbox
    John Calvert - December 2000
    The combobox and listbox controls in Visual Basic have no built-in support for displaying text strings that are too long to fit in the visible area of either control. This article describes several techniques to improve the readability of long strings in each control. The first technique uses tooltips to display a combobox or listbox item. The other techniques, which use various Windows APIs, include adding a horizontal scrollbar for a listbox and determining the necessary width of the longest string given the font attributes of the text. The required steps are described for both comboboxes and listboxes.

  • Web Q&A: Client-side Cookies, Unchecking Checkboxes, Toolbar, WebBrowser Control, and More
    Robert Hess - December 2000

  • Introducing ADO+: Data Access Services for the Microsoft .NET Framework
    Omri Gazitt - November 2000
    ADO+ is the new set of data access services for the .NET Framework. ADO+ is a natural evolution of ADO, built around n-tier development and architected with XML at its core. This article presents the design motivations behind ADO+, as well as a brief introduction to the various classes in the two layers that comprise the ADO+ framework-the connected Managed Providers and the disconnected DataSet. A drilldown into DataSets that covers populating data stores, relationships, filtering, searching and data views is provided. Finally, a discussion of the integration of ADO+ with the .NET XML Framework is presented.

  • Beyond ASP: XML and XSL-based Solutions Simplify Your Data Presentation Layer
    Scott Howlett and Jeff Dunmall - November 2000
    The combination of XML and XSL can provide a powerful alternative to ASP development. This article presents arguments for building even small-scale Internet applications on the XML model. An example written with traditional ASP programming is compared to the same example written with XML and XSL in order to show the benefits of this approach. The example is followed by nine good reasons to make the switch. These reasons include separation of presentation and data, reusability, extensibility, division of labor, enhanced testing, and legacy integration. The XML/XSL solutions described hold the promise of greater simplicity, flexibility, and durability than ASP solutions built the traditional way.

  • Cutting Edge: Extend the WSH Object Model with Custom Objects
    Dino Esposito - November 2000

  • The XML Files: SAX, the Simple API for XML
    Aaron Skonnard - November 2000

  • Basic Instincts: To Cache or not to Cache
    Ted Pattison - November 2000

  • Taming the Stateless Beast: Managing Session State Across Servers on a Web Farm
    John Papa - October 2000
    Running a Web farm means managing session state across servers. Since session state can't be shared across a Web farm with Internet Information Services 5.0, a custom solution is required. One such solution using a tool called the session manager is described here. The article begins with a description of the SQL Server database used to store state information, the stored procedures used to update it, and the retrieval of session data. ASP code drives the session manager tool and the COM and COM+ components that run the stored procedures.

  • Cutting Edge: Client-side Environment for ASP Pages-Part 2
    Dino Esposito - October 2000

  • Visual Programmer: Server-side Controls in Active Server Pages+
    George Shepherd - October 2000

  • Visual Studio .NET: Build Web Applications Faster and Easier Using Web Services and XML
    Dave Mendlen - September 2000
    Visual Studio .NET includes exciting features, some of which are enhancements to previous versions and some of which are brand new. A few of the most significant additions are the new Microsoft programming language called C#; a new, smarter integrated development environment; new object-oriented features in Visual Basic .NET; and development lifecycle tools. This article provides an overview of these features, as well as a look at Web Services, Web Forms, and new versions of ADO and ASP. It takes a first look at dozens of important new Visual Studio features that aid in the design, development, testing, and deployment of solutions built with Visual Basic, C++, Visual FoxPro, and C#.

  • Active Server Pages+: ASP+ Improves Web App Deployment, Scalability, Security, and Reliability
    Dave Sussman - September 2000
    ASP has been rebuilt from the ground up. The result? Active Server Pages+. ASP+, with a host of new features, provides for easier to write, cleaner code that's simple to reuse and share. ASP+ boosts performance and scalability by offering access to complied languages; development is more intuitive thanks to Web Forms; and an object-oriented foundation facilitates reuse. Other important features include page events, Web Controls, and caching. Server Controls and improvements in data binding are also new with ASP+. Libraries for use with ASP+, and the Microsoft .NET Framework which allows custom business functions to be exposed over the Web, provide more new development opportunities.

  • Cutting Edge: A Client-side Environment for ASP Pages
    Dino Esposito - September 2000

  • The XML Files: MSXML 3.0 Supports XPath 1.0, XSLT 1.0, XDR, and SAX2
    Aaron Skonnard - September 2000

  • Basic Instincts: Automating COM+ Administration
    Ted Pattison - September 2000

  • Develop a Web Service: Up and Running with the SOAP Toolkit for Visual Studio
    Rob Caron - August 2000
    The new Simple Object Access Protocol (SOAP) Toolkit for Visual Studio 6.0 provides the infrastructure for developers to build, expose, and consume Web services. With a few exceptions that are outlined in the toolkit, the SOAP Toolkit complies with the SOAP version 1.1 specification. It includes the Remote Object Proxy Engine (ROPE), a Service Description and Code Generation Wizard, and code that provides ASP and ISAPI reference implementations of SOAP listeners. This article describes the tools and the object model of the SOAP Toolkit, and then demonstrates ASP and ISAPI implementations of a functional Web service using this toolkit.

  • Shelley Powers: Migrating Your ASP Apps from Windows NT 4.0 to Windows 2000
    Shelley Powers - August 2000
    In order to take advantage of new features in Windows 2000 and IIS 5.0, you must first migrate your Windows NT 4.0-based ASP applications to Windows 2000. This article provides a multi-step migration plan. It discusses how to install and configure IIS 5.0, set up security, migrate MTS packages to COM+ applications, and handle differences in the ASP object models. Also included are guidelines for setting up Visual Basic and Visual C++ for development in Windows 2000 and information on what to expect when moving ASP components to the new OS.

  • Serving the Web: XML Data Manipulation with ADO 2.5
    Ken Spencer - August 2000

  • Visual Programmer: Writing ActiveX Controls in Visual Basic versus Visual C++
    George Shepherd - August 2000

  • Exchange 2000: Web Storage System, Workflow Tools, and CDO Turbocharge Collaboration Apps
    Sean McCormick - July 2000
    Microsoft Exchange 2000, the upcoming version of Exchange Server for Windows 2000, provides many new features including integration with Active Directory, Web Storage System events and forms, and a new version of Collaboration Data Objects (CDO). Exchange 2000 also provides a workflow engine and design tool to create workflow applications. This article will give you an overview of these new features and looks at ways to do a few standard tasks with the new version of CDO. Also included is a sample workflow application that manages the posting of messages to a public server to illustrate the new workflow engine and workflow design tool.

  • SQL/MTS: Automating the Creation of COM+ Components for a Database Schema
    Aleksandr Mikunov - July 2000
    Using Microsoft Windows DNA architecture as a guideline, it's possible to create scalable multitier database applications with COM+ and Microsoft Transaction Services. In fact, you can use existing table definitions to automatically build the MTS/COM+ business logic layer and data access components for your application. This article will walk you through the development of database transactions by mapping the transactions to automatically generated MTS/COM+ components. This technique can greatly simplify the task of creating components for a large project.

  • Go Global: Designing Your ASP-based Web Site to Support Globalization
    Michael Kaplan - July 2000
    If you have a Web site for your business, you already have an international presence. But how can you make sure users in any country can access your site effectively? The Trigeminal Software site at has pages localized into up to 48 languages and allows users to see pages in the language of their choice. This article describes how the site was implemented and how issues such as whether the site should use frames and what character set to choose for multibyte languages were dealt with. Which database to use for storing dynamic content, whether to use static or dynamic pages, and how to implement localized solutions on both Windows NT 4.0 and Windows 2000 is also discussed.

  • Serving the Web: Migrating from MTS to COM+
    Ken Spencer - July 2000

  • More Windows 2000 UI Goodies: Extending Explorer Views by Customizing Hypertext Template Files
    Dino Esposito - June 2000
    The Web-style interface is the default Explorer folder view for the Desktop Update in Windows 2000. The Desktop Update uses HTML-based hypertext templates to create the Web view, and you can customize these templates to include your own views and commands. This article shows you how the Explorer Web view works and how to build your own custom templates for it. You'll see how to add a command prompt and task buttons to a new folder view using HTML, script, and ActiveX controls. The shell object model and thumbnail shell extensions are also examined, then used to build a simple icon viewer for Explorer.

  • Collaboration Data Objects: Send Microsoft Exchange Appointment Reminders to Your Pager Using CDO
    Sean McCormick - June 2000
    Besides your typical e-mail services, Microsoft Exchange also provides the service infrastructure you need to build extensible knowledge and workflow management systems. Understanding Collaboration Data Objects (CDO) is the key to accessing these Exchange services for your own programs. With CDO you can automate tedious tasks and integrate information such as e-mail, calendars, and contacts with almost any application. This article explains how CDO enables you to access Exchange services, then walks you through a sample application that reads calendar events from an Exchange server and sends pager reminders to your users.

  • Info on the Go: Wireless Internet Database Connectivity with ASP, XML, and SQL Server
    Srdjan Vujosevic and Robert Laberge - June 2000
    Many handheld wireless devices such as cellular phones and PDAs already have the ability to access Web sites. So how do you build Web applications that tap this wireless audience? Although there are a number of limitations to wireless devices-such as screen size, navigation, and connection speed-you can use familiar Web development technologies to make your existing Web applications available to mobile users. This article outlines the services and equipment currently available to support wireless Web access. A sample wireless-accessible Web site that dynamically draws data from a SQL Server database back end in real time is created using tools such as ASP and XML.

  • Upsize Your Database: Convert Your Microsoft Access Application to Take Advantage of SQL Server 7.0
    Michael McManus - June 2000
    What if you need to convert an existing Microsoft Access 97 database application into a true client-server application that is based on a SQL Server back end? If you know a little about Visual Basic and SQL Server, it's easy to make your app take advantage of the power and scalability provided by SQL Server 7.0. Using some concrete code examples, this article takes you step by step through converting the native Jet queries in your Access application into stored procedures and pass-through queries that SQL Server can use. You'll also learn how to pass on parameters when your client-server app calls these SQL Server stored procedures and queries.

  • Web Q&A: Switch Focus Between Frames, Connect a Web Page to a Database
    Robert Hess - June 2000

  • Cutting Edge: Creating and Optimizing Performance for XML Document/View Web Applications
    Dino Esposito - June 2000

  • Serving the Web: Designing apps using Visual Modeler in Visual Basic
    Ken Spencer - June 2000

  • Advanced Basics: Transactional Programming Design and Optimization
    Jason Masterman - June 2000

  • B2B Frontiers in E-Commerce: Implement Affiliate Programs to Create New Partnerships and Generate Business
    Ted Coombs - May 2000
    Like the Internet itself, e-commerce is evolving. Today's e-commerce companies are allowing their customers to plug into existing catalogs and ordering systems, creating new synergistic relationships. Some companies are even adding real-time chat with customer service personnel. This article gives you an overview of some of the new e-commerce concepts and implementations that are helping forge those new relationships with customers, vendors, and shipping companies. The importance of these relationships, as well as the specific technologies used to encourage communication and collaboration are discussed and illustrated with representative code samples.

  • Virtual Source Code Control Systems: Promoting and Managing Projects using Visual SourceSafe
    Ken Ramirez - May 2000
    Source code control systems like Microsoft Visual SourceSafe can simplify just about any development project, and make it easier for your code to move safely among individual programmers, development teams, and project stages. Visual SourceSafe provides an object model that you can use as the basis of your own customized source code control environment. To give you an idea of what is possible, we'll walk you through the elements of a browser-based source code control system built with Visual SourceSafe, ASP, and VBScript. This simple system lets members of your team build, label, and promote individual files or entire projects, and to reverse promotions.

  • Serving the Web: Building and Testing ADO Components with Visual Basic
    Ken Spencer - May 2000

  • Basic Instincts: Porting Apps from MTS to COM+
    Ted Pattison - May 2000

  • The Future of Visual Basic: Web Forms, Web Services, and Language Enhancements Slated for Next Generation
    Joshua Trupin - April 2000
    The plans for the next version of Microsoft Visual Basic include three major improvements: Web Forms, Web services, and object-oriented language enhancements. Web Forms will let veteran Visual Basic users develop Web-based applications as easily as they design standalone apps today. Through a SOAP interface, Web services will let you deploy programmable modules anywhere that can be reached by a URL. In addition, several key object-oriented language enhancements, including inheritance, polymorphism, and overloading, will make Visual Basic code as flexible as C++.

  • Using Server-Side XSL for Early Rendering: Generating Frequently Accessed Data-Driven Web Pages in Advance
    Paul Enfield - April 2000
    Dynamic data-driven pages have become the basis of many cutting-edge Web sites. Early render systems can provide better performance and maintainability for data-driven Web sites by generating frequently accessed pages that contain less-volatile information ahead of time. We'll show you an example of a server-side solution that uses Extensible Stylesheet Language (XSL) to merge data and layout information into HTML that is compatible with just about any modern Web browser. Using these techniques to render Web pages early can reduce the load on your database back end and increase performance for your users.

  • New Directions in Redirection: Microsoft Internet Information Services 5.0 Provides Two New Methods
    Ram Papatla - April 2000
    Internet Information Services (IIS) 5.0 provides several enhancements to its support for ASP-based Web development, including two new server-side redirection methods: Server.Transfer and Server.Execute. Rather than redirecting requests with a round-trip to the client, these new methods can be used to transfer requests directly to an ASP file without ever leaving the server. While this functionality doesn't replace the Response.Redirect method used by IIS 4.0, you can take advantage of it to implement better application flow control mechanisms and to handle errors more efficiently. The different redirection options are described, along with some tips and tricks for implementing them on your own site.

  • Web Q&A: Windows Script Host, Dropdown Menus, ASP-to-HTML, and More
    Robert Hess - April 2000

  • Cutting Edge: Exchanging Data Over the Internet Using XML
    Dino Esposito - April 2000

  • Serving the Web: Working with MTS, ASP, and Visual Basic
    Ken Spencer - April 2000

  • Build an Easy Maintenance Intranet Site: Using Office Docs, File System Object, and OLE Structured Storage
    Josef Finsel - March 2000
    If you've ever needed to build an easy-to-maintain intranet site, here's a solution based on Microsoft Office documents. Many sites require constant updating of their HTML, but the use of Word documents can simplify the process. This article details the construction of a human resources site that exploits the File System Object (FSO), OLE Structured Storage, and ActiveX capabilities of Word documents. This allows the HR staff to copy their revised or newly created Word files to the site, dynamically generate a list of links to their files, and free IS from the constant recoding of HR updates into new HTML pages.

  • Cutting Edge: Accessing Recordsets over the Internet
    Dino Esposito - March 2000

  • The XML Files: XML-based Persistence Behaviors Fix Web Farm Headaches
    Aaron Skonnard - March 2000

  • Serving the Web: Compiling Components in Visual Basic for ASP
    Ken Spencer - March 2000

  • Basic Instincts: Porting Applications from MTS to COM+
    Ted Pattison - March 2000