Course Description
About this Course
In this course, students will learn to develop advanced ASP.NET MVC and Web Forms applications using .NET Framework 4 tools and technologies. The focus will be on coding activities that enhance the performance and scalability of the Web site application. ASP.NET MVC will be introduced and compared with Web Forms so that students know when each should/could be used.
Agenda
This course is intended for professional Web developers who use Microsoft Visual Studio in a team-based, medium-sized to large development environment. Members of the audience have a minimum of two to three years of experience developing Web-based applications by using Microsoft Visual Studio and Microsoft ASP.NET. Members of the audience are experienced users of Microsoft Visual Studio 2008 SP1 and newer releases of the Visual Studio product. The audience understands how to use the new features of Visual Studio 2010.
Prerequisites
In addition to their professional Web development experience, students who attend this training should have the following technical knowledge:
An understanding of the problem-solving techniques that apply to software development, including the following principles of software development: modern software development model typical phases of a software development lifecycle concepts of event-driven programming concepts of object-oriented programming creating use-case diagrams designing and building a user interface developing a structured application A basic understanding of the following scripting techniques and some hands-on experience writing scripts:
Web scripting techniques Macro scripting techniques Windows scripting techniquesA general understanding of the purpose, function, and features of following .NET Framework topics:
Common Language Runtime .NET Framework class library Common Type System Component interoperation Cross-Language Interoperability Assemblies in the Common Language Runtime Application Domains Runtime hosts supported by the .NET FrameworkExperience using Visual Studio 2008 in the following task areas:
Declaring and initializing typed variables using the Camel case naming convention Using arithmetic, relational, and logical operators in code statements Using branching statements to control code execution Using looping statements to iterate through collections or repeat steps until a specified condition is met Creating classes and methods to establish the basic structure of an application Using methods and events to implement the programming logic of an application Identifying syntax and logic errors Accessing and managing data from a data sourceExperience in object oriented design and development as follows:
Creating and accessing classes and class properties Creating and accessing methods and overloaded methods Implementing inheritance, base classes, and abstract classes Declaring, raising, and handling events Responding to and throwing exceptions Implementing interfaces and polymorphism Implementing shared and static members Implementing generics Creating components and class librariesExperience in N-Tier application design and development as follows:
Managing a software development process Controlling input at the user interface level in Windows Client and Web applications Debugging, tracing, and profiling .NET applications Monitoring and logging .NET applications Implementing basic testing best practices Performing basic Data Access tasks with LINQ Implementing basic security best practices in .NET Applications Implementing basic service calls Using .NET Configuration Files Deploying .NET Framework Applications using ClickOnce and the MS Installer At Course Completion
After completing this course, students will be able to:
Describe the underlying architecture and design of a Web application. Apply best practices and make appropriate trade-offs based on business requirements when designing a Web application. Develop MVC models. Develop MVC controllers. Develop MVC views. Optimize the design of a Web application for discoverability by search engines. Write server-side code for Web Forms. Optimize data management for Web Forms. Ensure quality by debugging, unit testing, and refactoring. Secure a Web application. Apply Master Pages and CSS for a consistent application UI. Develop client-side scripts and services for a responsive, rich, and interactive UI. Implement advanced AJAX in a Web application. Deploy a Web application. Develop a Web application by using Silverlight. Exam Certification
This course is recommended for exam 70-515, for the MCTS: Microsoft .NET Framework 4, Web Applications certification.
Course Outline
Module 1: Overview of Web Application Design
This module describes the underlying architecture and design of a Web application
Lessons
Overview of IIS 7.0 Overview of ASP.NET 4.0 Introduction to the MVC Framework Overview of the Request Life Cycle Lab: Exploring the Adventure Works Web Site
Exercise 1: Explore the Adventure Works Web Site Exercise 2: Comparing Web Forms and MVC Exercise 3: Working with the Web Forms Page Life Cycle After completing this module, students will be able to:
Describe the underlying architecture of ASP.NET 4.0. Identify new features in ASP.NET 4.0. Describe the components of the MVC framework. Describe the structure of an MVC application. Describe the life cycle of a Web Forms page. Describe the life cycle of an MVC page. Describe the differences between the life cycle of a Web Forms page and an MVC page Module 2: Designing a Web Application
This module describes the best practices and trade-offs that you need to make when designing a Web application.
Lessons
Web Applications: Case Studies Web Application Design Essentials Guidelines for Determining When to Use Web Forms and MVC Visual Studio 2010 Tools and Technologies for Web Application Design Lab: Redesigning the Adventure Works Web site
Exercise 1: Reviewing the Adventure Works Web site Exercise 2: Redesigning the Adventure Works Web site Exercise 3: Adding MVC Capabilities to the Adventure Works Web site After completing this module, students will be able to:
Explain the different types of web applications and their characteristics. Choose the correct design based on the on business requirements, utilizing Web Forms and MVC based. Explain the different tools and technologies and best practices around each. Module 3: Developing MVC Models
This module describes the MVC development model (Models, Controllers, and Views) and how to create the Models that are used to access and modify the data in a data source.
Lessons
Exploring Ways to Create MVC Models Creating a Data Repository Lab: Developing MVC Models
Exercise 1: Exploring Ways to Create MVC Models Exercise 2: Creating Data Repository After completing this module, students will be able to:
Create MVC models by using classes and data mapping tools. Create a data repository Module 4: Developing MVC Controllers
This module describes how to create the Controllers that are used to respond to communications from the user and how to implement the application flow and logic.
Lessons
Implementing MVC Controllers Creating Action Methods Lab: Developing MVC Controllers
Exercise 1: Creating an MVC Controller Exercise 2: Adding Code to List the Blog Entries Exercise 3: Adding Code to Create a New Blog Entry Exercise 4: Adding Code to Edit a Blog Entry Exercise 5: Adding Code to Delete a Blog Entry After completing this module, students will be able to:
Implement MVC controllers. Create action methods Module 5: Developing MVC Views
This module describes how to create the Views that are used to expose the application UI. The module also covers how to manage pre-action and post-action behavior of Controller action methods using the included action filters are provided as part of MVC
Lessons
Implementing MVC Views Implementing Strongly-Typed MVC Views Implementing Partial MVC Views Lab: Developing MVC Views
Exercise 1: Develop a List MVC View Exercise 2: Develop a Details MVC View Exercise 3: Develop a Create MVC View Exercise 4: Develop an Edit MVC View Exercise 5: Develop a Delete MVC View After completing this module, students will be able to:
Describe what an MVC view is and the varied types of views. Create an MVC view. Implement strongly typed MVC views. Implement partial MVC views Module 6: Designing for Discoverability
This module describes how to implement the navigational design and also how discoverability will be achieved through content keywords and page URLs.
Lessons
Overview of Search Engine Optimization Creating the Robots and Sitemap Files Using ASP.NET Routing Lab: Designing for Discoverability
Exercise 1: Mapping URLs of Web Forms Pages Exercise 2: Creating a Sitemap File Exercise 3: Building the Application Infrastructure After completing this module, students will be able to:
Describe the need to optimize the design of a Web site for discoverability by search engines and how the IIS SEO Toolkit helps in optimization. Create robots.txt and sitemap.xml files. Use ASP.NET with Web Forms and MVC pages. Module 7: Writing Server-Side Code for Web Forms
This module describes the advanced features of server-side coding and technologies. The module describes how to allow the website to move into a global and web farm environment through localization, shared sessions, and custom user controls. The module will also cover how to use the custom validator and regular expressions.
Lessons
Overview of the Structure of a Web Application Controlling ViewState Localizing a Web Application Persisting Data on a Web Forms Page Validating User Input Lab: Writing Server-Side Code for Web Forms
Exercise 1: Modifying a Web Forms Page to Display Localized Content Exercise 2: Persisting data on a Web Forms Page Exercise 3: Exploring Viewstate Exercise 4: Adding Validation to Web Forms Pages After completing this module, students will be able to:
Describe the structure of a Web application. Control ViewState based on performance requirements. Localize a Web application by using resource files. Describe the techniques used to persist user information. Describe the different technologies used in web farms. Validate user input in Web Forms and MVC pages. Module 8: Optimizing Data Management for Web Forms
This module describes how to optimize and display data management tasks for a Web Forms-based application using Dynamic Data, Data Binding, LinqToEntities, server side controls, and server-side code.
Lessons
Managing Data by Using LINQ to Entities Using Data Source Controls Using ASP.NET Dynamic Data Lab: Optimizing Data Management for Web Forms
Exercise 1: Managing Data by Using LINQ to Entities Exercise 2: Customizing the GridView Exercise 3: Using ListView, DetailsView & Charts Exercise 4: Managing Data by Using ASP.NET Dynamic Data After completing this module, students will be able to:
Use the LINQtoEntities framework to manage data Use data source and data bound controls in Web Forms. Use ASP.NET Dynamic Data in Web Forms. Module 9: Ensuring Quality by Debugging, Unit Testing, and Refactoring
This module describes how to perform check-in testing for their Web Forms and MVC applications as well as how to use the built-in debugging capabilities of VS2010.
Lessons
Debugging and Refactoring Code Unit Testing Code Processing Unhandled Exceptions Test Driven Development Lab: Debugging, Unit Testing and Refactoring
Exercise 1: Configuring Error Handling Exercise 2: Debugging Code Exercise 3: Logging Exercise 4: Creating Unit Tests Exercise 5: Implementing the Test-First Development Methodology After completing this module, students will be able to:
Debug and refactor code Unit test code. Describe how to log information to a file, database, event or other, including best practices. Describe the Test-Driven Development methodology. Module 10: Securing a Web Application
This module describes how to mitigate common security threats and to implement the essentials (must haves) of Web security in both MVC and Web Forms applications.
Lessons
Configuring Authentication Configuring ASP.NET Membership Managing Authorization by Using ASP.NET Roles Lab: Securing a Web Application
Exercise 1: Configuring ASP.NET Membership and Roles Exercise 2: Authentication Exercise 3: Authorization After completing this module, students will be able to:
Configure authentication Configure ASP.NET Membership Manage authorization by using ASP.NET Roles Module 11: Applying Master Pages and CSS
This module describes how to achieve a consistent UI in a reusable manner.
Lessons
Applying Master Pages Applying CSS, Skins, and Themes Lab: Applying Master Pages and CSS
Exercise 1: Modify a Master Page Exercise 2: Create Nested Master Page Exercise 3: Integrating a Master Page Exercise 4: Control Skins Exercise 5: Applying Styles & Themes After completing this module, students will be able to:
Identify challenges in developing a Web application that is compatible across a wide range of browsers and ways to address these challenges. Apply master pages for a consistent application UI. Apply CSS for a consistent application UI. Module 12: Developing Client Side Scripts and Services
This module described how to develop client-side scripts and services for a responsive, rich, and interactive application UI.
Lessons
Developing Client-Side Scripts Implementing AJAX Creating Services Lab: Developing Client Side Scripts and Services
Exercise 1: Creating Client-Side Script Exercise 2: Advanced JQuery Exercise 3: Creating a WCF Service After completing this module, students will be able to:
Develop client-side scripts Implement advanced JQuery Create services Module 13: Implementing Advanced AJAX in a Web Application
This module describes the programmatic side of AJAX enabled controls (as well as extending server controls to include AJAX functionality) on a Web Forms page as well as implementing AJAX on a MVC page
Lessons
Implementing Ajax in ASP.NET MVC Pages Using Microsoft Ajax Implementing Ajax in ASP.NET MVC Pages Using jQuery Working With jQuery and Ajax Events Lab: Implementing Advanced Ajax for the AdventureWorks web application
Exercise 1: Using AJAX in an MVC Page Scenario Exercise 2: Using jQuery in an MVC Page Exercise 3: Handling jQuery Ajax Events After completing this module, students will be able to:
Manage browser history Implement AJAX in MVC pages Implement jQuery Module 14: Deploying a Web Application
This module describes how to plan, configure, and perform deployment tasks associated with a production Web site. The module also describes the Web site lifecycle as it pertains to deployment.
Lessons
Overview of Web Application Deployments Overview of Web Site Deployments Deploying AdventureWorks Lab: Deploying AdventureWorks
Exercise 1: Deploying a Web Application Project Using One-Click Publish Exercise 2: Deploying a Web Application Using a Web Deployment Package Exercise 3: Deploying a Web Site with the Copy Web Site Tool Exercise 4: Deploying a Web Site with the Publish Web Site Utility After completing this module, students will be able to:
Identify challenges in deploying Web applications and describe varied target environments. Describe Web application compilation methods and tools. Transform the web.config file when deploying a Web application Module 15: Developing a Web Application by Using Silverlight
This module introduces students to Silverlight by having them integrate a Silverlight module into an existing ASP.NET application. Students will learn how to add a Silverlight project to an existing solution, leverage the existing Web application by calling a WCF service, and display the information in Silverlight.
Lessons
Introduction to Rich Internet Applications Overview of Silverlight Creating a Silverlight Application Lab: Developing a Web Application by Using Silverlight
Exercise 1: Creating a Silverlight Project Exercise 2: Creating a Silverlight WCF Service Exercise 3: Displaying Data by Using Silverlight Controls After completing this module, students will be able to:
Describe the characteristics of RIAs and the technologies for building them. Describe the features of Silverlight, its architecture, and the use of XAML for developing Silverlight applications Create a Silverlight application.