Day 1
What's New in the CLR
The .NET 4.0 release introduces the first significant changes to the core
.NET runtime since 2.0 was released in 2005. Two of the core services the
runtime provides: security and garbage collection have new features providing
a more manageable and efficient runtime model. In addition running software
targeting different versions of the runtime in the same process is no longer
likely to break older code as from version 4.0, you can have more than one
copy of the runtime loaded in memory. This module walks you through these
significant changes and how they affect your applications.
C# 4.0
As with most releases of .NET, the accompanying version of C# has seen
important new features. The big headlining feature is the introduction of
dynamic typing via the dynamic keyword. This enables a much smoother
integration with dynamically typed languages such as JavaScript and Ruby
as well as cleaner COM interop. But being able to resolve methods and
properties at runtime also introduces new ways of parsing data with natural
APIs. This module will look at the new dynamic aspects of C#4 and will also
cover other new features of the language such as generic variance, optional
and named parameters.
Visual Studio 2010
This module takes you through the features introduced in the new
release of
Visual Studio. This release brings big changes to many features. The code
editor itself is now based on WPF which not only allows smooth zooming
of the
code without altering fonts but also new ways of templating the code
to render differently in the code editor (for example comments within
an embedded form in the editor). We also have new refactoring support
to better aid test driven development, new modeling tools and
improvements to the unit testing and debugging experiences.
Day 2
PFx: Task a Unified Threading API
When the Parallel Framework Extensions (PFx) were first announced it
looked as though it was going to target a narrow set of requirements
around parallelizing processor intensive code. However, over time the
scope of the library has grown significantly such that it will become
the main model for building asynchronous code. The pivotal type
enabling this transition is the Task class. This is a functionally
very rich type allowing the creation of both short and long lived
asynchronous work, Tasks can have dependencies on one another and
support cancellation. In this, the first of the PFx modules we look
specifically how this class gives us a unified framework for building
multithreaded code.
PFx: Parallel
The initial goal of PFx was to simplify the parallelization of
processor intensive tasks and this remains a key feature. This part
of its functionality is focused on the Parallel class and it's For and
ForEach members. In this module we look at the simplified model but
also highlight that parallelizing algorithms is never as simple as it
might first seem we show you some of the pitfalls that you should be
aware of when trying to parallelize functionality using the Parallel
class.
PFx: Synchronization Primitives and Concurrent Data Structures
Ever since its inception .NET has had support for a number of
synchronization primitives (such as Interlocked, Monitor and Mutex).
However, on their own these primitives do not provide support for more
complex synchronization situations and so people have had to use them
as building blocks to build things like efficient Semaphores. PFx
finally brings to the library a set of richer primitives such as lazy
initialization, a lightweight semaphore and a countdown event. But
more than this, it also introduces a set of high performance
concurrent data structures that allow you to use them without you
having to provide your own synchronization logic around them. This
module looks at this new set of tools in your synchronization toolbox.
Day 3
Workflow 4.0
Windows Workflow Foundation (WF) is a library for enabling the
scripting of a set of processing steps in a declarative way. It also
supports long-running execution of these steps with an automated
persistence engine. For version 4.0, WF has been rewritten to provide
a more flexible and robust infrastructure for building your
applications and services. The performance has been significantly
increased and the development and deployment options enhanced. In this
module we introduce you to the new workflow infrastructure and tools
and show you how to build power applications on the workflow platform.
Workflow 4.0 Services
One of the main goals of the new version of workflow was to establish
a platform for building WCF services in a declarative way. This also
allows a rich and transparent model for taking existing services and
composing their functionality to produce composite services. This
module shows you the new messaging activities, how they can be used to
define service contracts and how long-running execution is enabled by
a message correlation model that allows new messages to be routed to
existing running workflows.
Windows Communication Foundation 4.0
The changes in WCF 4.0 are not as far reaching as those in WF 4.0.
However there are still some powerful new features such as new
bindings, new transports and simplified configuration. We also see the
introduction of the Forwarding Service, an out-of-the-box SOAP
intermediary, that allows data dependent service routing purely based
on configuration values. This module looks at these new features and
how they can be used to enhance your services.
Day 4
Windows Presentation Foundation 4.0
One of the big targets for version 4.0 of WPF was integration with the
new Windows 7 Shell enhancements. As a result we see support for
multi-touch, the new taskbar and a ribbon control. This module
introduces these new features and also looks at other changes
including an enhanced design time environment and the introduction of
the Visual State Manager a simplified model for providing animations
as the state of controls changes.
Entity Framework Introduction
Introduced in .NET 3.5 SP1, the Entity Framework provides an Object
Relational Mapping (ORM) infrastructure to simplify and accelerate
working with data potentially from multiple data sources. This
module introduces the fundamentals behind the Entity Framework.
Entity Framework 4.0
The initial release of Entity Framework provided a working ORM
solution but lacked a number of features to enable enterprise level
adoption. The Entity Framework team listened to feedback and EF 4.0 is
the result. It introduces a number of new features to greatly enhance
the usability of Entity Framework in larger applications, from self
change tracking entities to customizable code generation templates and
more. This module looks at the enhancements to EF and shows how they
can be used to integrate EF into n-tier applications.
Day 5
ASP.NET MVC Introduction
This release of .NET sees the inclusion in the core framework of the
ASP.NET MVC framework. Platforms such as Ruby on Rails have shows that
Model/View/Controller (MVC) is a highly productive and very testable
pattern for building web applications. In this module we look at the
basic anatomy of an MVC application, looking at models, views and
controllers. We also show how data binding fits into this world and
how the MVC infrastructure maps requests on to controllers using the
Routing infrastructure.
ASP.NET MVC : Beyond the Basics
Having introduced the core concepts of the MVC framework we look now
at integrating AJAX functionality into your MVC applications, how you
can build REST based services on the framework and how you build
reusable components, similar to custom controls that fit with the MVC
model.