Click here to monitor SSC
Dino Esposito

Handling Errors Effectively in ASP.NET MVC

ASP.NET MVC gives you more options in the way that you handle exceptions. Error handling isn't intrinsically exciting, but there are many ways of avoiding the classic yellow page of death, even getting ELMAH to manage error handling for you. Read more...

Michael Williamson

Moving from Practice to Production with Test-Driven Development

Michael Williamson answers three common questions that come up in test-driven development (TDD), including the most likely causes of each potential problem, and practical tips on how to avoid them. Read more...

Matt Wrock

Automate the Complete Windows Environment Setup and Configuration

Boxstarter is an open-source application that enables you to do the unattended install of everything required to turn bare metal, Azure VM or Hyper-V VM into a working Windows Server. It is built on top of Chocolatey, Nuget, and PowerShell to make the repeated installation of windows-based machines into an automated error-free process. Matt Wrock, Boxstarter's creator, explains how to use it. Read more...

Dino Esposito

Social Login in ASP.NET MVC

It isn't every web application where one would want visitors to identify themselves via their Twitter, Facebook, Google or LinkedIn account. However, where it is essential to allow comments or other social interaction on your site, then ASP.NET MVC makes a 'social login' like this remarkably simple to do. Read more...

Dino Esposito

Mixing Web Forms and ASP.NET MVC

Just because you're using Web Forms, it doesn't mean that you are stuck in a technical time-warp. If you want to liven up a site with new features using Ajax and libraries such as jQuery, Bootstrap or Knockout.JS, then you can always integrate a Web API layer into a Web Forms application. Dino Esposito shows how to give your Web Forms application a new lease of life. Read more...

Michael Sorens

Acceptance Testing with FitNesse: Multiplicities and Comparisons

FitNesse is one of the most popular tools for unit testing since it is designed with a Wiki-style interface that makes it very easy to set up individual tests. Michael Sorens' sixth article in his series delves into the nuances of multiple inputs vs. multiple outputs, multiple rows vs. multiple columns, as well as things that can trip you up when attempting to validate a value. Read more...

Dino Esposito

OWIN: Customizing the Web Server

OWIN and Katana are designed to provide a different way of meeting those objectives that currently require the use of NodeJS. With them, you can run extremely thin and super-optimized web server applications by cutting out what you don’t need and swapping out those parts that you wish to behave differently. Dino Esposito explains how to get started. Read more...

Michael Sorens

Acceptance Testing with FitNesse: Symbols, Variables and Code-behind Styles

Although FitNesse can be used as a generic automated testing tool for both applications and databases, it excels at unit testing since it is designed with a Wiki-style interface that makes it very easy to set up tests. In part 5, Michael Sorens explains how to use symbols and variables effectively, and why those terms are themselves rather problematic Read more...

Dino Esposito

ASP.NET MVC Paging with OData

It is natural for the user to want to browse through data within an application. Until recently, the interfaces with data sources have been ill-equipped to support this. OData, at last, takes the legwork away with some well-considered support for the paging of data, without imposing any particular conventions on the application. Dino explains how to use it. Read more...

Sergei Dumnov

Adding Public Domain Data to your Software Demos with R

With all the extensions that are available, it is astonishing how little R code is required to achieve impressive BI graphics. You can even use R to take the latest data from a table in a website and apply it to a map in just a few lines of code: and here they are, with Sergei's explanation.. Read more...

Michael Sorens

Acceptance Testing with FitNesse: Debugging, Control Flow, and Tracing

FitNesse is an automated testing tool for software. based on Ward Cunningham's Framework for Integrated Test. It is designed particularly for acceptance testing and works with both applications and databases. In part 4, Michael Sorens shows you how to debug with Visual Studio, manage control flow and enable tracing. Read more...

Edward Charbeneau

Giving Clarity to LINQ Queries by Extending Expressions

LINQ expressions can be made much easier to comprehend and modify by using extension methods to create pipes and filters. Ed takes a working LINQ expression and makes stepwise improvements to it to make it clearer. Read more...

Dino Esposito

A Look at the Razor View Engine in ASP.NET MVC

Razor is now the dominant markup language for ASP.NET MVC applications, since it is terse and produces more readable markup than the ASPX syntax. Now with conditional nuggets and URL auto-completion, it is the obvious choice, as Dino explains. Read more...

Dino Esposito

Aspect-oriented Programming and Code Contracts in ASP.NET MVC

There are some aspects to application programming, such as logging, tracing, profiling, authentication and authorization that cut across the business objects. These are difficult to deal with in an object-oriented paradigm without resorting to code-injection, code-duplication or interdependencies. In ASP.NET MVC, you can use attributes in the form of action filters to provide a neater way of implementing these cross-cutting concerns. Read more...

David Berry

Building Performance Metrics into ASP.NET MVC Applications

When you're instrumenting an ASP.NET MVC or Web API application to monitor its performance while it is running, it makes sense to use custom performance counters.There are plenty of tools available that read performance counter data, report on it and create alerts based on it. You can then plot application metrics against all sorts of server and workstation metrics.This way, there will always be the right data to guide your tuning efforts. Read more...

Sergei Dumnov

Creating a Business Intelligence Dashboard with R and ASP.NET MVC: Part 3

By introducing R libraries into an ASP.NET MVC application, it is possible to broaden its analytical and visualization power immensely. To illustrate this, Sergei shows an example of how to use the R libraries Lattice and GoogleVis to detect poorly-performing product categories, the quantity sold and the profit from them, and estimate their demand over time. Read more...

Michael Sorens

Acceptance Testing with FitNesse: Naming and Layout

Having dealt with Documentation and Infrastructure in the popular wiki-based acceptance-testing tool Fitnesse, Michael turns his attention to conventions and best-practices for naming and layout, in his continuing series of articles that represent the 'view from the trenches'. Read more...

Chris Morter

Large Object Heap Compaction: Should You Use it?

Despite the many benefits of automatic memory management in .NET, there are still a few perils which we must avoid. One of the most common, and frustrating to deal with, is fragmentation of the large object heap. In this article Chris Morter explains what LOH fragmentation is, why it’s a problem, and what you can do to avoid it. Read more...

Dino Esposito

Aiming for a Truly Responsive Web Experience

Responsive Web Design (RWD) is starting to take off as a lightweight way to adapt websites for different screen sizes and resolutions, but does it do enough? Dino Esposito thinks we can go further, and offer a better experience to all users, by combining RWD with a server-side approach. Read more...

Michael Sorens

Acceptance Testing with FitNesse: Documentation and Infrastructure

FitNesse is a popular general-purpose wiki-based framework for writing acceptance tests for software systems, including databases. It is intended to be easy for the tester to learn and use. In this article, Michael Sorens gives a 'view from the trenches' of Fitnesse's documentation and infrastructure. Read more...

Most Viewed

A Complete URL Rewriting Solution for ASP.NET 2.0
 Ever wondered whether it's possible to create neater URLS, free of bulky Query String parameters?... Read more...

Visual Studio Setup - projects and custom actions
 This article describes the kinds of custom actions that can be used in your Visual Studio setup project. Read more...

.NET Application Architecture: the Data Access Layer
 Find out how to design a robust data access layer for your .NET applications. Read more...

Calling Cross Domain Web Services in AJAX
 The latest craze for mashups involves making cross-domain calls to Web Services from APIs made publicly... Read more...

Web Parts in ASP.NET 2.0
 Most Web Parts implementations allow users to create a single portal page where they can personalize... Read more...

Why Join

Over 400,000 Microsoft professionals subscribe to the Simple-Talk technical journal. Join today, it's fast, simple, free and secure.