Cutting Edge
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.
May
2013
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.
April
2013
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.
February
2013
Dino Esposito
Continuing his series, Dino Esposito builds a WPF client app that uses the Facebook API to authenticate users and post updates.
January
2013
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.
December
2012
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?
October
2012
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.
September
2012
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.
August
2012
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.
July
2012
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.
June
2012
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.
May
2012
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.
April
2012
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.
March
2012
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.
October
2011
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.
September
2011
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.
August
2011
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.
July
2011
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.
June
2011
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.
May
2011
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.
April
2011
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.
March
2011
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.
February
2011
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.
January
2011
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.
December
2010
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.
November
2010
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.
October
2010
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.
September
2010
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 class to maximize your resources.
August
2010
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.
July
2010
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.
June
2010
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.
May
2010
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.
April
2010
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.
March
2010
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.
February
2010
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.
January
2010
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.
December
2009
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.
November
2009
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.
October
2009
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.
September
2009
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.
August
2009
Dino Esposito
In this month's column, we’ll explore the pros and cons of both ASP.NET Web Forms and ASP.NET MVC.
July
2009
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.
June
2009
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.
May
2009
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.
April
2009
Dino Esposito
Thanks to selectors and function chaining, jQuery allows you to write compact, cross-browser code.
March
2009
Dino Esposito
This month Dino continues his look at managing dynamic Silverlight content by discussing caching and isolated storage.
February
2009
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.
January
2009
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.
December
2008
Dino Esposito
This month Dino Esposito explains how the browser interoperability layer in Silverlight addresses a number of your Silverlight / Web page interaction needs.
November
2008
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.
October
2008
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.
September
2008
Dino Esposito
Dino Esposito compares the use of AJAX patterns and DOM manipulations to the use of the ASP.NET partial rendering engine.
August
2008
Dino Esposito
In this installment, the author provides an enhanced implementation of the BST pattern and compares it to HTM solutions.
July
2008
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.
June
2008
Dino Esposito
This month we begin a look at the Single Page Interface (SPI) model and some design patterns for designing AJAX applications.
May
2008
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.
April
2008
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.
Launch
2008
Dino Esposito
This month Dino looks at AJAX control extenders again, adding more advanced features including masked editing and autocompletion.
February
2008
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.
January
2008
Dino Esposito
Dino Esposito introduces the Microsoft AJAX Library and the JavaScript library for ASP.NET AJAX 1.0.
December
2007
Dino Esposito
This month Dino takes a look at limitations and UI issues in Partial Rendering AJAX pages and techniques for managing the UI.
November
2007
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.
October
2007
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.
September
2007
Dino Esposito
This month Dino explains how to remotely cancel tasks running on the server using ASP.NET AJAX.
August
2007
Dino Esposito
Beyond progress bars: talking to server-side apps with ASP.NET AJAX.
July
2007
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.
June
2007
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.
April
2007
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
February
2007
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.
January
2007
Dino Esposito
This month Dino Esposito dissects the client-side source code generated by ASP.NET pages.
December
2006
Dino Esposito
Windows Workflow Foundation supports virtually any scenario where human opera¬tors are involved. Learn how to use it to tame your workflows.
November
2006
Dino Esposito
Dino Esposito rewrites his task progress bar with the help of ASP.NET “Atlas.”
October
2006
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.
September
2006
Dino Esposito
Dino Esposito reviews the basics of enumeration types and their implementation in the Microsoft .NET Framework.
August
2006
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.
July
2006
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.
June
2006
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® .
May
2006
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.
April
2006
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).
March
2006
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.
February
2006
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.
January
2006
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.
December
2005
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.
November
2005
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.
October
2005
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.
September
2005
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 .
August
2005
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).
July
2005
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.
June
2005
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.
May
2005
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.
April
2005
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?"
March
2005
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.
February
2005
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.
January
2005
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.
December
2004
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.
November
2004
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.
October
2004
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.
September
2004
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.
August
2004
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.
July
2004
Dino Esposito
February
2004
Dino Esposito
January
2004
Dino Esposito
December
2003
Dino Esposito
November
2003
Dino Esposito
October
2003
Dino Esposito
September
2003
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.
August
2003
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.
June
2003
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.
May
2003
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.
April
2003
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.
March
2003
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.
February
2003
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).
January
2003
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.
December
2002
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.
November
2002
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.
October
2002
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.
September
2002