Articles
I generally enjoy writing about technical topics and have authored a number of articles about programming in .NET. The following exhaustive list contains information about and links to articles I have written. The appear pretty much in chronological order with the newest at the top.
C# Programming Tips and Tricks
Volume 2 of "C# Programming Tips and Tricks" covers some items related to new features of C# 4.0 along with other beneficial tips and tricks. In addition, it mentions some tools that are worth noting.
Optional and Named Parameters in C# Programming
In this installment we'll explore optional and named parameters in C# programming. This is an option that has long been around within the Visual Basic language, but is newly introduced in to the C# language in the .NET Framework version 4.0.
Working with Object Context in the Entity Framework
Learn how to work with the object context of the Entity Framework including how to detach and attach objects.
Joins and UI Binding with the Entity Framework
Learn how to build queries with the Entity Framework that involve multiple tables as well as binding in the UI with the EntityDataSource.
Safe Covariance and Contravariance in .NET 4.0
.NET Developers may not recognize the terms invariance, covariance, and contravariance, it is likely they have been impacted by them and left wondering. This article will explain the concepts and the changes being introduced as part of .NET Framework 4.0.
Dynamic Language Support in the .NET 4.0 Framework
The focus of this article will be on the dynamic language support (DLR) that will be released as a part of the upcoming 4.0 version of the .NET Framework.
Improved COM Interoperability in .NET 4.0
Learn about the COM Interoperability improvements coming with the .NET Framework 4.0 and how they will make your COM Interop such as Office applications much easier.
The Future of Managed Languages: C# and Visual Basic
Learn three industry trends that are influencing the next releases of C# and Visual Basic.
Introducing the Entity Framework
The Entity Framework provides a .NET class-based model of a data store, letting you query the model with LINQ, while the model do the background grunt work of contacting the data store to add, update, or delete data.
Language Integrated Query (LINQ) to SQL
Discover another valuable part of the LINQ family, LINQ to SQL. LINQ to SQL that allows users to query and manipulate objects associated with relational database tables.
Learn some tips and tricks with the C# 3.0 language features along with exploring some productivity gains with the Visual Studio IDE.
Gain an understanding of LINQ (Language Integrated Query) to XML and see why you'll never want to use the DOM again.
Gain a solid understanding of what Language Integrated Query (LINQ) is and isn't and what it can do for you.
Learn how to avoid possible performance problems in your web applications when using the ASP.NET AJAX TabContainer by employing a technique known as lazy loading.
Learn about local type inference in C# 3.0 and Visual Basic 9.0. Examine why it is relevant and the syntax for its use.
Learn about the dual-purpose of the C# using keyword. Examine why it can be extremely helpful in object management, and the syntax for its use.
Discover what extension methods are, the syntax for using them, and why they are important.
Learn about the CAB at a very high level. With it you can create Windows Forms-based applications that have sophisticated capability without being as sophisticated to create.
Discover how to build an ASP.NET webpart that will display coordinates on a Virtual Earth-created map. You can do this by using the IWebPart Interface, an HTTP handler, and the Virtual Earth API.
Discover the power behind state machine workflow and how it can be used to more closely match business and other processes.
Activities are the building blocks of workflows. When you use Windows Workflow Foundation, you likely will want to build custom activities to fit your tasks.
Microsoft will introduce the much anticipated Windows Workflow Foundation (WinWF) as part of the .NET Framework 3. Get the lowdown on WinWF and learn how to build a sequential workflow with it.
Here are several lesser-known tips and tricks that will assist you in building fully functional and well performing Windows Forms applications.
Use ClickOnce technology and smart clients to extend the reach of traditional Windows Forms applications. The process involves some wizard-based configuration and minimal code.
ASP.NET 2.0 provides the ObjectDataSource control to enable you to connect data binding controls to data objects and components. Find out how to select data and display it in a GridView by binding to an ObjectDataSource.
Learn about blocking versus unblocking sockets, and about the use of generics and a sample socket connection pool.
The Microsoft .NET Framework 2.0 has made several improvements to the System.DirectoryServices namespace. They expand your ability to interact with your enterprise Active Directory.
With the .NET Framework 2.0 release now available, you can explore the C# 2.0 iterators feature. Examine the iterators design pattern and find out what it takes to implement and then modify it manually.
Explore the built-in ASP.NET HTTP handlers and then learn how to create your own custom handlers. When you're done, you'll be able to enable special handling within your Web applications.
Explore dynamic code compilation with a demonstration that creates new assemblies on the fly and compiles them in memory. This functionality has a number of potential uses and benefits.
The security enhancements that the .NET Framework 2.0 made to the TCP channel enable secure TCP communication either through code or application configuration files. Learn how to apply both techniques to .NET remoting clients and servers.
Learn how to create and consume .NET remoting clients and servers using Visual Studio 2005 and the Microsoft .NET Framework 2.0. In particular, find out how to use the new IpcChannel for same-box communications.
Serialization introduced many powerful capabilities, but it also introduced problems as you refactor your objects to include new properties. Learn how the version-tolerant serialization included in the upcoming 2.0 Microsoft .NET Framework will help.
Get a sneak preview of the compression and decompression classes that are coming in the .NET Framework 2.0 due out later this year.
Take a foray into ADO.NET to see what's in store for the next release. You'll find some very handy additions and enhancements.
Generics, a new addition in version 2.0 of the .NET Framework, offer a combination of type safety, performance, and generality in the defined type. Find out why generics are valuable and what they can add to your applications.
The Microsoft .NET Framework provides imperative and declarative ways to check for proper permissions prior to attempting an action. Learn how and when to use them.
The .NET Framework uses an evidence-based security system. Learn how you can use the security policy to allow or deny actions to assemblies.
A new namespace in the upcoming 2.0 release of the Microsoft .NET Framework adds support for some very useful network-related items. Explores some of these new items and how you can use them to your advantage.
What are delegates, and what value do they provide? Read why you may already be familiar with them and then dig into some examples of how you can use them.
This .NET Nuts & Bolts covers exception handling, examining what exceptions are and why they are important. You'll learn how to use them, how to create custom exceptions, and how to apply common best practices.
Discover how to add functionality for debugging and tracking an application's execution path.
The .NET Framework provides native support for lists and collections. Learn the concept behind these classes and why they are especially important with the planned inclusion of generics in version 2.0 of the .NET Framework.
Learn about using application configuration files in Microsoft .NET and the concept of application configuration files and the native support the Microsoft .NET Framework provides.
Learn how to build a multilingual application using Microsoft .NET. This article outlines the construction and then demonstrates it with examples.
Explore some common creational design patterns and learn how to implement them using Microsoft .NET.
Determine the overall performance of your applications and diagnose those pesky undocumented features with performance counters. Learn the basics of deploying and using features in your instrumentation.
Learn how to create a Windows Service that takes an action on a scheduled interval by using classes in the System.ServiceProcess.ServiceBase and System.Timers namespaces, among others.
Learn more about reading from files and examine the task of parsing data from a file.
Better query performance in Microsoft SQL Server can be accomplished through the efficient use of indexes, but performance is dependent on implementation decisions. Learn how to implement indexes and increase database performance.
Discover how to send e-mail from within your .NET applications using the System.Web.Mail namespace.
Not only explains queues, but also demonstrates writing to and multiple ways for reading from a message queue.
Learn to create simple charts and graphs using the Microsoft .NET Framework's System.Drawing namespace.
Discover how to easily store and retrieve objects into a file, a database, or in an ASP session state.
Learn how to improve the performance of your ASP.NET application with the use of caching.
One of these concepts included with C#, but not with Visual Basic .NET, is the ability to overload operators.
Explore how to interact with files from within .NET. The topics covered will include how to get the properties on files in a directory as well as how to use a number of classes in the System.IO namespace.
Learn when to apply a DataReader over a DataSet and vice versa.
Explore how to access directory services from within .NET. Cover how to use the Active Directory for items such as searching and providing authentication services for an application.
The third and final installment of the series on multithreading. Take a look at how threads can be used to write a server application to accept multiple requests.
Learn more about multithreading, a powerful tool for creating high-performance applications. Here you see the basic methods involved with working with threads, along with the synchronization of thread activity.
Multithreading is a powerful tool for creating high performance applications, especially those that require user interaction. In this article, you will explore multithreading with the .NET Framework as well as learn how multiple threads can be used to improve an application's user interface.
Visual Studio .NET makes it relatively simple to create a Windows Service. Learn what Windows Services are and how to create, install, and debug them.
Explore COM Interoperability, also known as COM Interop. COM Interop is the means to which COM objects can be used in a .NET application and how .NET objects can be built to appear to be COM objects.
Explore how to build an object in .NET that can log information to a file or the event log.
Retrieving application settings is a pretty common task that falls under the category of another of those tedious and repetitive tasks that programmers have to deal with. Explore a way to eliminate this tedious programming task through a combination of technologies.
This article covers encrypting data using the cryptography classes available through the Microsoft .NET Framework.
Remoting is a more efficient means than Web Services for allowing programs to interact. Learn how remoting differs from Web Services and other technologies. More importantly, learn how to implement remoting.
Learn how to build a database independent data access layer.
Learn how to use custom attributes to eliminate tedious coding.