Silverlight 2 for ASP.NET Developers

Silverlight 2 for ASP.NET Developers

5.0 1
by Jonathan Swift, Salvador Alvarez Patuel, Chris Barker, Dan Wahlin

Our overarching goal in writing this book was to give ASP.NET developers the power to quickly and easily create visually stunning Internet applications, coupled with rich interactivity to fully immerse the user in a new online experience. Silverlight gives you everything you need to do just this, and in serious style!

As well as taking you through each feature


Our overarching goal in writing this book was to give ASP.NET developers the power to quickly and easily create visually stunning Internet applications, coupled with rich interactivity to fully immerse the user in a new online experience. Silverlight gives you everything you need to do just this, and in serious style!

As well as taking you through each feature that ships with Silverlight, this book will make sure you’re able to debug, troubleshoot, and performance-tune your Silverlight applications, as well as seamlessly hook into your existing ASP.NET architecture and code base.

This book is aimed at .NET developers and architects who want to quickly get up to speed with all that Silverlight 2 has to offer.

As well as covering the breadth of features that Silverlight 2 provides, this book makes a point of demonstrating where necessary how the particular feature can be integrated tightly with the ASP.NET host application. An example is in Chapter 7, where the ASP.NET Profile service is utilized directly from within Silverlight to obtain user-specific data.

It’s fair to say that although this book is aimed at ASP.NET developers, it covers all of the salient features of Silverlight 2 to the degree that it’s a useful programming resource for developers not using ASP.NET also.

If you’re fresh to .NET development, however, you might want to check out a beginning .NET book first, to help you overcome the syntax and set-up queries when learning a new language. Otherwise, take a deep breath and dive in!

This book covers the full feature set of Silverlight 2, diving into each of the subject areas to give depth and breadth coverage. As well as teaching you about the component parts of the Silverlight API, the book also covers debugging, troubleshooting, and performance-tuning your Silverlight applications, arming you with all the skills and knowledge you’ll need to create advanced Silverlight-based applications in record time.

Importantly, this book covers the integration points between ASP.NET and Silverlight, taking you through the different techniques you can use to seamlessly augment your existing or new ASP.NET web sites with the power of Silverlight.

If you want to program in Silverlight and potentially use ASP.NET as the host, then this book covers it all.

The book is split into two distinct parts. Part I is titled “Silverlight Fundamentals for ASP.NET Developers,” and Part II is titled “Developing ASP.NET Applications with Silverlight.” Part I is intended to give you grounding in what Silverlight is as a technology and how it fits into the Web-based landscape. The component pieces of a Silverlight application are also laid out at a high level, and any knowledge required before putting an application together is explained.

Part II is written to give you depth of knowledge across the Silverlight feature-set and show you how to leverage the power of both Silverlight and ASP.NET to create compelling applications.

A brief synopsis of the content follows:

  • “Silverlight in a Nutshell”—This will teach you at a high level what Silverlight is and how it can help you deliver engaging, immersive web applications. Differentiating Silverlight from other Web-based technologies is also covered here, and a description of the required development environment is provided. In short, after reading this, you’ll be able to describe Silverlight and explain why you’d want to use it and what gives it the edge over the competition.
  • “Silverlight Architecture”—Silverlight allows you to rapidly build a well-rounded application with a great user interface, but if you encounter any problems during development, it is going to be important for you to understand the underlying architecture upon which you are developing. This outlines the core features of Silverlight 2 and guides you around the building blocks of this highly flexible framework, paying particular attention throughout to your ASP.NET heritage.
  • “XAML Condensed”—Quickly getting up to speed with XAML is what this is all about, helping you brush aside the syntax queries and get to grips with the basics of this multi-purpose declarative language. Hooking the XAML files up to .NET code is also shown here, helping you inject dynamic event-driven actions into your Silverlight UI. Finally, one technique for the dynamic creation of XAML is shown, followed by a tour of Expression Blend.
  • “Programming Silverlight”—By the time you get here, you’ll be itching to start coding, and code you will as the feature-agnostic programming constructs that make up a Silverlight application are covered in detail. The composition of a Silverlight application is laid bare and its constituent parts explained at length, as well as detailing the Silverlight application lifetime and how to hook into it. The different options for embedding the Silverlight plug-in within your application are covered, followed by a brief overview of JavaScript and its associated DOM. This then leads onto a discussion of the Silverlight Object Model, explaining how the visual tree is constructed to form the UI. Another technique for dynamically creating XAML and adding it to the visual tree is also shown here. Finally, the Silverlight event model, browser interaction, and threading model are covered for you.
  • “Creating the User Interface”—You now know how to program Silverlight and how to write XAML. This shows you how to put it all together to start laying out the user interface of your Silverlight application. Each of the layout controls that ship with Silverlight is covered here—Canvas, Grid, StackPanel, and TabControl—including information on when to use which one. Information on how to create a scalable UI is also provided, followed finally by a section that details how to localize your application, thereby making it available to other languages and cultures.
  • “Silverlight Controls”—Silverlight 2 provides an assortment of controls that can be used to display and capture data. In this, you’ll learn to work with user input controls, items controls, and media controls and see how they can be put to use to build interactive and rich user interfaces. You’ll also learn how to use controls such as the MultiScaleImage control to work with Silverlight’s Deep Zoom technology.
  • “Styles and Templates”—Altering the look and feel of your application is the crux here, with the different techniques for applying styling information to the controls that comprise it demonstrated here. As well as this, integrating with the ASP.NET Profile service via WCF is detailed, giving you the ability to personalize your Silverlight application on a per-user basis.
  • “User Interaction”—What’s the point of having a great technology like Silverlight 2 if we can’t interact with it? We review the different ways that you can interact with your application, understanding how the UIElements work with input devices like the keyboard, mouse, and stylus. We also explore the different ways to navigate around the application and present the different options that we have and in which scenarios each one is preferred.
  • “Communicating with the Server”—The ability to access data located at distributed sources is key in many Silverlight 2 applications. You learn different networking technologies that are available and see how they can be put to use. Several different topics are covered such as creating and calling ASMX and WCF services, calling REST APIs, working with JavaScript Object Notation (JSON) data, pushing data from a server to a client with sockets, and leveraging HTTP Polling Duplex functionality.
  • “Working with Data”—It is all about data! One of my colleagues always says, “If you are not using data binding in Silverlight 2, you are doing something wrong!” This explains the data framework available within your applications and then deeps dive into the inner workings of data binding, showing you the different approaches that you may take. In order to understand how the data is retrieved, we explain the different technologies and techniques to get the most of Silverlight 2 data using the available data controls. Finally, this explains how you can manipulate the data using LINQ and LINQ to XML.
  • “Creating Custom Controls”—This will take you on a journey in order to discover the different options that you have available to customize the Silverlight 2 controls. We start exploring the user control model that ASP.NET developers are used to, and then we dig into the internals of visual customization. You will be amazed by this powerful new model. Finally, for those who need to push the technology to the limit, this explains how to create a complete custom control from scratch.
  • “Securing Your Silverlight Application”—Whether you’re an Enterprise developer or a Silverlight hobbyist, you are going to want to release your application out to the wild at some point. In doing so, you are providing a high level of exposure to your application, and therefore security should not be an afterthought. Thankfully, Silverlight 2 has a security framework built into the run time, which will give you the peace of mind of working within a secure environment. This introduces you to the Silverlight security framework, but also talks you through your security responsibilities as a Silverlight developer.
  • “Audio and Video”—Embedding high-fidelity audio and video in your Silverlight application is sure to capture your users’ imaginations, and this shows you how you can do just this using the Silverlight-provided MediaElement control and the ASP.NET Media Server Control. Playback control is demonstrated, as is the more advanced topic of providing synchronization points within your chosen media. This will definitely help you put the WOW factor into your web sites.
  • “Graphics and Animation”—A detailed tour of the graphics API that ships with Silverlight is first discussed here, including the Shape-derived objects that can be rendered to screen and also the Geometry-derived objects that can be created and then rendered via a Path object. Brush objects are covered next, demonstrating the SolidColorBrush, LinearGradientBrush, RadialGradientBrush, ImageBrush, and VideoBrush, and their usage. Next up is the very cool DeepZoom technology, covering the creation of DeepZoom-enabled images using the DeepZoom Composer and their usage in your Silverlight application via the MultiScaleImage control. Finally, the different animation techniques that you can use within your Silverlight application are covered, ranging from the basic From/To/By type to the more advanced Key frame types, including the different transition mechanisms within.
  • “Troubleshooting Silverlight Applications”—Writing an application from start to finish without any development issues is still quite some way off. This introduces you to a range of techniques and tools to help you through the hard times when your application isn’t behaving as you would expect it to. Besides retrospectively fixing problems within your application, this concludes with the more proactive approach of ensuring that your application hits a known quality bar before you are satisfied that it is ready to be released. Silverlight’s testing framework is the flavor of the day here.
  • “Performance”—Silverlight is an incredibly powerful and flexible framework. Its inherent flexibility often means that there are several ways to achieve your goals. In choosing an alternative path, you will often find that the penalty is poor performance. This gives a series of best-practice advice to allow you to make an informed decision when you hit those forks in the road. In addition, you will learn how to instrument your code in order to simply identify the bottlenecks within your application.

To get the most out of this book, it’s recommended that you code along with the examples provided, either by copying the code shown in the chapters or by downloading the samples and running them yourself.

To do this, you’re going to need Visual Studio 2008, which is available to download from MSDN, provided you have a subscription. As well as this, you’ll also need to download and install the Silverlight Tools for Visual Studio 2008, which allows you to create Silverlight-based applications within Visual Studio. This install will also take care of installing the Silverlight run time and SDK for you. You can download this installer from

If you want to follow the examples that use Microsoft Expression Blend or the Deep Zoom Composer, you can also download these from

As well as these software requirements, you will need a basic working development knowledge of Microsoft .NET and have experience in Web-based development. A passion for creating rich web applications is advantageous, although not necessary!

Product Details

Publication date:
Product dimensions:
7.30(w) x 9.20(h) x 1.60(d)

Meet the Author

Jonathan Swift worked as an Application Development Consultant for Microsoft in the United Kingdom for a number of years and now finds himself managing the team. This means that he spends most of his time traveling around the country helping clients utilize Microsoft developer technologies effectively. Jonathan has been programming for more than 13 years and has worked with numerous technologies, including but not limited to C, C++, Visual Basic, COM, COM+, SQL, ASP, and, of course, all aspects of .NET. As well as programming, Jonathan also spent part of his career working as a Microsoft Trainer, delivering the full suite of Microsoft Official Curriculum courses and specially-designed courses also.

Jonathan tries to keep his blog ( up to date, but feels that writing a book is a very good excuse for not doing so. (Other popular excuses including playing the XBox and washing his hair.) When he’s not working, Jonathan spends all of his time with his wife and kids, and occasionally gets to exercise his pilot’s license at the flying club.

Chris Barker works as an Application Development Consultant for Microsoft in the United Kingdom ( He spends his days traveling around the country visiting customers and consulting on development practices on the Microsoft platform. More recently, his interest has been captured by RIA development, and as a result, he has delivered several customer workshops on Silverlight. Away from the office, Chris likes to get out and about in his home county of Derbyshire, riding a bike, kicking a football, and sinking a few pints of real ale.

Dan Wahlin (Microsoft Most Valuable Professional for Connected Systems) is a .NET development instructor and architecture consultant at Interface Technical Training ( Dan founded the XML for ASP.NET Developers web site (, which focuses on using ASP.NET, Silverlight, AJAX, and XML Web Services in Microsoft’s .NET platform. He’s also on the INETA Speaker’s Bureau and speaks at several conferences. Dan has authored/co-authored numerous books over the years on .NET technologies with his latest being Professional ASP.NET 3.5 AJAX and Professional Silverlight 2 for ASP.NET Developers. Dan also writes for several online technical newsletters, blogs at, and updates what he’s up to from time to time at When he’s not working with technology, he enjoys sports and writing and recording music to relax a little — Music/default.aspx.

Salvador Alvarez Patuel has been in the industry for more than 13 years. Currently a senior application development consultant (ADC) at Microsoft, helping customers to architect and build complex solutions using Microsoft technologies in the United Kingdom. Salvador has also been delivering multiple technical sessions around EMEA on Windows Mobile development and has been answering questions on many ask-the-experts events. Before joining Microsoft, he was the main technical architect for real-time engines on popular auctions, TV channels, and the gaming industry. He holds a software engineering degree from his native Argentina and a specialization in artificial intelligence. When Salva is not thinking about ones and zeroes, he enjoys climbing, windsurfing, and recently trying to learn how to play golf.

Customer Reviews

Average Review:

Write a Review

and post it to your social network


Most Helpful Customer Reviews

See all customer reviews >

Silverlight 2 for ASP.NET Developers 5 out of 5 based on 0 ratings. 1 reviews.
Jorge_C More than 1 year ago
This is a perfect book for ASP.NET developers seeking to learn the new programming techniques of Silverlight and XAML. This book covers in great detail all the features of Silverlight from Client and Server Architechture to Data Security, Custom Controls and Animations. The great thing about this book is the step by step code explanation and it shows you images of each screen you will be creating plus the ability to download all the sample code from the book's web page. Another great chapter is chapter 4 (Programming Silverlight) this chapter is dedicated to explain the basic knowledge you must have in order to program Silverlight applications from HTML basic code to detailed JavaScript techniques