MSDN Magazine Columns

Cutting Edge

Dino Esposito
The CQRS approach to software development is essentially a rework of the classic, multi-layered architecture that leaves the door open for more significant changes and evolution.
June2015
Dino Esposito
Organizations need to maintain the backend business services they expose as plain HTTP endpoints. Using OData to implement queryable services on top of an ASP.NET Web API lets you give clients the flexibility to download only the fields in which they’re interested.
April2015
Dino Esposito
A well-done search function is a must in larger sites. This article presents an auto-completion framework built around Twitter typeahead.js.
March2015
Dino Esposito
WURFL.js is a lightweight device description repository that can improve the user experience in client-side intensive Web applications running on mobile and desktop browsers.
February2015
Dino Esposito
Mobile users expect as seamless and smooth an experience working with Web sites on their mobile devices as they have on their desktops. While responsive Web design is one approach, creating discrete sites may be the best answer.
January2015
Dino Esposito
Responsive Web Design (RWD) creates a unique experience through a fluid and adaptive Web layout. Dino Esposito explores the state of the art of RWD and dives into the critical issue of image handling and performance.
December2014
Dino Esposito
You can use ASP.NET Identity in Visual Studio 2013 to simplify standard tasks such as managing and controlling access to user data.
November2014
Dino Esposito
Readability must be an essential attribute of your coding practices. Follow the three C’s—comments, consistency and clarity—to create code that’s easier to read.
October2014
Dino Esposito
Add ClearScript into any .NET application to add scripting capabilities, publish objects and enable users to create and run their own scripts within the application.
September2014
Dino Esposito
The decision to use relational SQL stores or NoSQL stores to hold disparate types of data will depend on the data and the application. Ultimately, it might not even be necessary to rely on one or the other, says Dino Esposito.
August2014
Dino Esposito
Dino Esposito shows how to perform authentication through an external OAuth- or OpenID-based server, such as a social network, and the steps you might want to take once authentication is complete.
June2014
Dino Esposito
Dino Esposito explores the basics of ASP.NET authentication and the new ASP.NET Identity system from the perspective of the ASP.NET MVC 5 developer.
March2014
Dino Esposito
Dino Esposito discusses Web API from the perspective of the average ASP.NET MVC developer, focusing on the improved content negotiation functionality.
February2014
Dino Esposito
Dino Esposito discusses Web API from the perspective of the average ASP.NET MVC developer, focusing on the improved content negotiation functionality.
February2014
Dino Esposito
The LESS Framework enables dynamic generation of CSS content and gives developers and designers alike sophisticated tools for managing and organizing CSS code.
November2013
Dino Esposito
Learn about bundling and minification of CSS files from the unique perspective of software tooling available in ASP.NET MVC 4.
October2013
Dino Esposito
Dino Esposito follows up on how to serve up ad hoc Web site markup to different classes of devices by using server-side device and feature detection with the Wireless Universal Resource File.
August2013
Dino Esposito
Learn how to use server-side logic to offer up the best display for a given device, incorporating a new feature of ASP.NET MVC 4 called display modes.
July2013
Dino Esposito
ASP.NET MVC 4 now includes an ad hoc framework to authenticate users via a number of social networks, and Dino Esposito shows you how.
May2013
Dino Esposito
Learn about the tools and techniques to view and retrieve content from a Facebook wall in order to share it through other means and catalog it for something else, such as business intelligence analysis.
April2013
Dino Esposito
Dive into the principal tools you can leverage to add social plugins to your Web sites, with a mix of HTML markup, CSS and JavaScript code.
February2013
Dino Esposito
Continuing his series, Dino Esposito builds a WPF client app that uses the Facebook API to authenticate users and post updates.
January2013
Dino Esposito
Integrate Facebook functionality into apps and use the Facebook C# API to authenticate users and post programmatically on behalf of the currently logged-in user.
December2012
Dino Esposito
Dino Esposito dives into the HTML5-based jQuery Mobile UI technology for popular device platforms. Is it all you need for mobile development?
October2012
Dino Esposito
Dino Esposito shows how to classify mobile devices in order to build a Web site that serves different markup to different devices based on their capabilities.
September2012
Dino Esposito
Dino Esposito explains how to route Web site visitors between the desktop and mobile versions of a site so they can easily jump between the two.
August2012
Dino Esposito
Dino Esposito debunks some mobile site development myths as he explains how to present users with Web pages designed to work best with their individual devices.
July2012
Dino Esposito
This column is the first of a series in which Dino Esposito approaches mobile site development from a perspective that isn’t primarily focused on technology. He says that too often mobile site development is associated with specific frameworks and their solutions without much thinking about use-cases and restructuring of the content. In this colum, he starts from the basics—the mobile markup.
June2012
Dino Esposito
Achieving zero-lag connectivity between Web clients and servers requires going beyond the HTTP protocol. This is just what the WebSocket Protocol provides, and Dino Esposito explains how it's used and what it does.
May2012
Dino Esposito
Dino Esposito follows up on last month's column, discussing why long polling is useful and how you can use SignalR to facilitate real-time client/server communication.
April2012
Dino Esposito
SignalR, a jQuery plug-in being developed by the ASP.NET MVC team, presents some extremely promising functionality currently missing from the Microsoft .NET Framework.
March2012
Dino Esposito
Today’s apps are too often built around a single data model, says Dino Esposito. He discusses strategies to handle situations where multiple models provide more flexibility and help you develop more layered and robust applications.
October2011
Dino Esposito
Have you ever had to deal with the infamous “big ball of mud” clogging up your project? Learn the best practices to help fix a deteriorated system and patterns to prevent a growing system from growing badly and uncontrolled, degrading over time.
September2011
Dino Esposito
Dino Esposito delves into static code analysis and discusses how it can be used with Code Contracts to save you time in your builds and, more importantly, save you from nasty bugs that hit your software only in corner cases.
August2011
Dino Esposito
Dino Esposito goes further into his exploration of Code Contracts in the .NET Framework, explaining what they’re used for, how they compare to assertions and tests and how they can help you improve the quality of your software design.
July2011
Dino Esposito
After discussing two of the most common types of software contracts—preconditions and postconditions—Dino this month introduces the third most important type of contract—the invariant—and proceeds to examine the behavior of contract-based classes when you apply inheritance.
June2011
Dino Esposito
Code contracts in the Microsoft .NET Framework 4 rely on a few features in Visual Studio 2010. We'll review the project options for code contracts, how they affect the rewriter tool and some best practices for argument validation.
May2011
Dino Esposito
With the .NET Framework 4, software contracts are available and even integrated with Visual Studio. We show you the benefits of a contact-first approach, such as code maintainability and ease of development.
April2011
Dino Esposito
You can create extensible apps using the Managed Extensibility Framework (MEF), which is built right into the .NET Framework 4. We'll walk through an example to compare plug-in implementations using both MEF and Inversion of Control frameworks.
March2011
Dino Esposito
Dino Esposito follows up on his discussion of the Unity interception API by explaining how policy injection lets you concentrate on the details of the behavior you want, leaving the library to decide which methods it applies to based on the rules you give it.
February2011
Dino Esposito
The Unity framework provides dependency injection for .NET applications. We'll show you how to leverage the interception API in Unity 2.0 to inject your own functionality into exiting code.
January2011
Dino Esposito
Learn about the aspect-oriented programming paradigm and the related capabilities you find in Unity 2.0 as Dino Esposito explores how to deal with cross-cutting concerns in your code.
December2010
Dino Esposito
Action filters are a powerful feature of ASP.NET MVC controllers that can help you build aspect-oriented Web solutions. In this issue we dive deeper into creating your own dynamic action filters.
November2010
Dino Esposito
Here’s an in-depth exploration of a powerful feature of ASP.NET MVC controllers that can greatly help you in the building of aspect-oriented Web solutions.
October2010
Dino Esposito
The Model-View-Presenter (MVP) pattern is an evolution of MVC. We take a look at implementing MVP for ASP.NET Web Forms and compare it to ASP.NET MVC and MVVM for Windows Presentation Foundation (WPF) and Silverlight.
September2010
Dino Esposito
Being lazy in software development can be a good thing, but until the Microsoft .NET Framework 4, coders had to implement lazy behavior themselves. Dino Esposito shows how to use the new Lazy<T> class to maximize your resources.
August2010
Dino Esposito
The .NET Framework 4 introduces some new features that enable you to go beyond static types. We explore dynamically expando objects and demonstrate how they can be used like dynamically updatable dictionary objects.
July2010
Dino Esposito
Are you a Microsoft .NET Framework programmer who struggles with critical legacy applications using COM objects that are beyond your control? Dino Esposito shows how to lessen the burden by going dynamic.
June2010
Dino Esposito
C# 4 provide a new dynamic keyword that enables dynamic typing in what has traditionally been a strongly typed language. We explain how the dynamic keyword works and what it offers that casting, var, and System.Object cant’ match.
May2010
Dino Esposito
If you need to scale up an existing Web application, you should first look to asynchronous operations, says Dino Esposito. He explains how new features coming in ASP.NET MVC 2 make this easier.
April2010
Dino Esposito
This month Dino takes a look at the JavaScript components coming in the ASP.NET Ajax Library and explains how they can be used for effective client-side data access.
March2010
Dino Esposito
Dino Esposito builds upon his exploration of new data binding features coming in the ASP.NET Ajax Library, explaining how to implement the predictive fetch design pattern.
February2010
Dino Esposito
When you think of data-driven Web pages, most of the time what you really have in mind is a master-detail view of some cross-related data. Dino builds an example with ASP.NET AJAX 4 and jQuery.
January2010
Dino Esposito
Dino Esposito discusses various forms of client-side data binding as they are coming out in ASP.NET AJAX 4.0, focusing on some advanced features of data binding and observable objects.
December2009
Dino Esposito
Last month, Dino covered the basics of the new DataView client control and the binding techniques most commonly used. In this article, he goes one step further and covers conditional template rendering.
November2009
Dino Esposito
In this article, Dino reviews the pillars of real-world AJAX development as supported in ASP.NET AJAX 4.0. In doing so, he mostly focuses on client-side templates and data-binding but doesn’t ignore other goodies, such as ADO.NET Data Services proxy classes and programming facilities.
October2009
Dino Esposito
The upcoming ASP.NET 4.0 platform has the same foundation as the latest 3.5 SP1 version, but it provides further refinement in the areas of Web Forms, Dynamic Data controls, and ASP.NET AJAX. In this article, Dino takes a look at what’s new and improved in the Web Forms model.
September2009
Dino Esposito
After a brief refresher on procedural and object based patterns for organizing the business logic layer, the author focuses on data transfer objects and the impact they have on the development of the software project.
August2009
Dino Esposito
In this month's column, we’ll explore the pros and cons of both ASP.NET Web Forms and ASP.NET MVC.
July2009
Dino Esposito
This month we examine forms in the context of AJAX applications and look at various approaches to implementing features such as auto-saving, just-in-time validation, and submission throttling.
June2009
Dino Esposito
In this month's installment we build modal and modeless dialog boxes in jQuery and explain how to post data from them to the Web server.
May2009
Dino Esposito
Achieving cross-browser compatibility for events is no easy task. The jQuery event handling API addresses the differences in event handling across browsers, allowing you to write more predictable JavaScript.
April2009
Dino Esposito
Thanks to selectors and function chaining, jQuery allows you to write compact, cross-browser code.
March2009
Dino Esposito
This month Dino continues his look at managing dynamic Silverlight content by discussing caching and isolated storage.
February2009
Dino Esposito
This month Dino tackles the problem of large download size for Silverlight applications, explaining when to use streaming, when to divide the download, and other techniques for better performance over the wire.
January2009
Dino Esposito
Choosing the right design pattern for your ASP.NET Web application can help you achieve the separation of concerns between your presentation layer and the layers beneath it.
December2008
Dino Esposito
This month Dino Esposito explains how the browser interoperability layer in Silverlight addresses a number of your Silverlight / Web page interaction needs.
November2008
Dino Esposito
There’s a strong similarity between Web-based Silverlight 2 applications and desktop WPF applications. Enabling easy code reuse between the two is Dino’s focus here.
October2008
Dino Esposito
This month Dino builds a service layer that authenticates users of Silverlight 2 and ASP.NET AJAX services to prevent illegal access to sensitive back-end services.
September2008
Dino Esposito
Dino Esposito compares the use of AJAX patterns and DOM manipulations to the use of the ASP.NET partial rendering engine.
August2008
Dino Esposito
In this installment, the author provides an enhanced implementation of the BST pattern and compares it to HTM solutions.
July2008
Dino Esposito
AJAX is meant to go beyond mere partial page rendering. Find out where Dino Esposito thinks dynamic pages are headed in the future with ASP.NET AJAX.
June2008
Dino Esposito
This month we begin a look at the Single Page Interface (SPI) model and some design patterns for designing AJAX applications.
May2008
Dino Esposito
This month, use nested ListView controls to create hierarchical views of data and extend the eventing model of the ListView by deriving a custom ListView class.
April2008
Dino Esposito
This month Dino Esposito shows you how to get Windows-style modal dialog boxes for your Web applications thanks to the Ajax Control Toolkit and some clever coding.
Launch2008
Dino Esposito
This month Dino looks at AJAX control extenders again, adding more advanced features including masked editing and autocompletion.
February2008
Dino Esposito
AJAX Extenders extend the behavior and features of ordinary Web controls so you can reduce postbacks and control input even better than with AJAX alone.
January2008
Dino Esposito
Dino Esposito introduces the Microsoft AJAX Library and the JavaScript library for ASP.NET AJAX 1.0.
December2007
Dino Esposito
This month Dino takes a look at limitations and UI issues in Partial Rendering AJAX pages and techniques for managing the UI.
November2007
Dino Esposito
The second of this two-part series delves into the script services programming model, which is useful if you're looking for a full paradigm shift in building AJAX applications.
October2007
Dino Esposito
In the first of a two-part column, Dino explains AJAX from an architectural standpoint to help developers, architects, designers, and administrators better understand the issues that affect their sites.
September2007
Dino Esposito
This month Dino explains how to remotely cancel tasks running on the server using ASP.NET AJAX.
August2007
Dino Esposito
Beyond progress bars: talking to server-side apps with ASP.NET AJAX.
July2007
Dino Esposito
When modeling business logic, workflows inevitably represent transactional tasks, so you need to know how to code transactional semantics in the Windows Workflow Foundation.
June2007
Dino Esposito
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.
April2007
Dino Esposito
AJAX allows you to build rich browser applications using powerful combinations of existing client-side Web technologies. This month Dino delves into AJAX
February2007
Dino Esposito
Where are the files generated by ASP.NET stored and how are they used to serve page requests? This month Cutting Edge explains.
January2007
Dino Esposito
This month Dino Esposito dissects the client-side source code generated by ASP.NET pages.
December2006
Dino Esposito
Windows Workflow Foundation supports virtually any scenario where human opera¬tors are involved. Learn how to use it to tame your workflows.
November2006
Dino Esposito
Dino Esposito rewrites his task progress bar with the help of ASP.NET “Atlas.”
October2006
Dino Esposito
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.
September2006
Dino Esposito
Dino Esposito reviews the basics of enumeration types and their implementation in the Microsoft .NET Framework.
August2006
Dino Esposito
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.
July2006
Dino Esposito
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.
June2006
Dino Esposito
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® .
May2006
Dino Esposito
In last month's column, I presented a helpdesk workflow sample that focused on Windows® Forms client applications. This month I'll discuss ASP. NET workflow applications and the ability to expose a workflow as a Web service and invoke a Web service from a workflow.
April2006
Dino Esposito
In the January 2006 issue, Don Box and Dharma Shukla introduced Windows® Workflow Foundation and discussed the overall architecture of the framework and its constituent components (see WinFX Workflow: Simplify Development With The Declarative Model Of Windows Workflow Foundation).
March2006
Dino Esposito
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.
February2006
Dino Esposito
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.
January2006
Dino Esposito
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.
December2005
Dino Esposito
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.
November2005
Dino Esposito
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.
October2005
Dino Esposito
Forms are an essential piece of ASP. NET—the ASP. NET Web programming model itself wouldn't be possible without forms. The use of forms is not constrained in pure HTML, but it is subject to some restrictions in ASP.
September2005
Dino Esposito
In software, five years is like a geological era. Five years ago, the Microsoft® . NET Framework had just been announced. Since then, the DataSet has emerged as the key object for performing a variety of data-related tasks in .
August2005
Dino Esposito
In the past, I've covered some core aspects of the interaction between DHTML behaviors, the browser, and ASP. NET runtime (see Cutting Edge: Extend the ASP. NET DataGrid with Client-side Behaviors and Cutting Edge: Moving DataGrid Rows Up and Down).
July2005
Dino Esposito
The ASP. NET Repeater is a basic container control that allows you to create custom lists from any data available to the page. It's a handy control, especially since most ASP. NET pages that display data need to repeat the same kinds of data over and over.
June2005
Dino Esposito
When it's time to design the Data Access Layer (DAL) of your distributed Microsoft® . NET Framework-based app, one of the key decisions you'll make is how you'll pass data to and from methods of DAL classes.
May2005
Dino Esposito
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.
April2005
Dino Esposito
Imagine opening your Inbox one morning and finding a message that reads "Dear Mr. DataGrid, I urgently need an ASP.NET DataGrid that lets my users move rows on the client. You're my last hope. Will you please help me?"
March2005
Dino Esposito
Although the context menu is a common element of most desktop applications, it is still fairly uncommon in Web application names because it doesn't map well to a server-based technology like ASP. NET.
February2005
Dino Esposito
ASP. NET client callbacks represent a neat and elegant way to execute server-side code without posting and refreshing the current page. I discussed ASP. NET callbacks in the August and December 2004 installments of Cutting Edge, considering them from the perspective of rendered pages making background callbacks to the server, sending input data to the relevant page, and receiving a response.
January2005
Dino Esposito
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.
December2004
Dino Esposito
ASP.NET has a lot to offer to both the low-level programmer willing to control every little step of the code and the busiest of developers who needs to point-and-click his way through Web app development using just a few existing components.
November2004
Dino Esposito
The ADO. NET DataSet object plays an essential role in most of today's distributed, multitiered applications. Instances of the DataSet class are used to move data across the tiers and to exchange data with external services.
October2004
Dino Esposito
Tracing is important to the success of your ASP. NET applications. When tracing is enabled for an ASP. NET page, a large chunk of runtime information is appended to the page's output for your perusal.
September2004
Dino Esposito
If you're involved in Web development you may have faced a problem that you couldn't find a good solution for—making client-to-server calls outside the current page. For example, you might want to validate the content of a textbox against data stored on the server asynchronously, without interrupting the continuity of the work or without forcing a full page refresh, which is particularly heavy for UI-rich pages.
August2004
Dino Esposito
One of the most compelling improvements that ASP. NET brought to ASP programming was the Cache object. The Cache has some similarities to the Application object and is a container of global data (as opposed to session-specific data) that features a fair number of innovative characteristics.
July2004
Dino Esposito
February2004
Dino Esposito
November2003
Dino Esposito
If you bind a multi-table DataSet to a DataGrid, only the first table is recognized. Here Dino Esposito writes a custom solution the the multi-table problem.
August2003
Dino Esposito
It's easy to create a custom control in ASP.NET by deriving a new class from an already existing control. Creating a new ASP.NET control from scratch, on the other hand, is more challenging. When you need a Web server control and none of the existing ones meet your requirements, you can derive from one of the base classes - Control or WebControl. Try it out.
June2003
Dino Esposito
One of the most common snags that ASP developers encounter when they first approach ASP.NET is that managed Web applications must be written according to a single-form interface model. Find out how it works.
May2003
Dino Esposito
The Microsoft® . NET Framework comes with a rich set of programming tools for debugging and tracing applications. I'm not talking about integrated debuggers; I'm referring to software components that you use in the development cycle.
April2003
Dino Esposito
Displaying an Open File dialog is certainly easy in the Microsoft® . NET Framework with Windows® Forms, but the resulting window is not as customizable as when you create it through the Win32® API. With Windows 2000, Microsoft added a nice feature—the places bar, which is the vertical toolbar that appears on the left side of the window to let you select a frequently visited folder.
March2003
Dino Esposito
In ASP. NET pages, the view state represents the state of the page when it was last processed on the server. It's used to build a call context and retain values across two successive requests for the same page.
February2003
Dino Esposito
In the September and October 2000 issues of MSDN® Magazine I discussed how to build a client-side environment for ASP applications; that is, a serverless environment to run ASP pages (see Cutting Edge: A Client-side Environment for ASP Pages and Cutting Edge: A Client-side Environment for ASP Pages—Part 2).
January2003
Dino Esposito
One of the key elements that makes ADO. NET superior to ADO is the level of integration with XML. In ADO, XML is just an I/O format. In addition, the ADO XML format is totally inflexible and doesn't allow any type of customization.
December2002
Dino Esposito
It's fairly safe to assume that all programmers working in Windows® environments are familiar with MessageBox. The MessageBox function displays a message through a popup dialog box and lets programmers add dialog buttons and icons to the message to improve user feedback.
November2002
Dino Esposito
If you wanted to, you could distinguish two general categories of classes in the Microsoft® . NET Framework—classes that introduce new functionality such as XML readers and ADO. NET providers, and collections and classes that wrap underlying Win32® system functions.
October2002
Dino Esposito
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.
September2002

MSDN Magazine Blog

MSDN Magazine Right Rail

14 Top Features of Visual Basic 14: The Q&A
Leading off the feature in the January issue of MSDN Magazine is Lucian Wischik’s fantastic look at Visual Basic .NET 14. As Wischik writes, the newes... More...
Wednesday, Jan 7
Big Start to the New Year at MSDN Magazine
Folks, things are hopping over here at MSDN Magazine. We are kicking off the new year with a pair of issues: Our regularly scheduled January issue and... More...
Friday, Jan 2

More MSDN Magazine Blog entries >


Receive the MSDN Flash e-mail newsletter every other week, with news and information personalized to your interests and areas of focus.