Course Catalog
Curriculum Guides
  .NET
  Java/J2EE
  XML
Downloads
Buy Courseware
Customization
News
Authors
Technical Library
FAQ
About Object Innovations
Opportunities
Contact Us
Home

 

 

   
www.objectinnovations.com
info@objectinnovations.com
877-558-7246 (toll free)  
781-466-8012  

4143. ASP.NET MVC Using C#

Rev. 4.7

 

This course provides a practical hands-on introduction to developing Web applications using ASP.NET MVC 5 and C#. This Web development framework from Microsoft emphasizes separation of concerns in the architecture and testability of applications. The course includes coverage of the Razor View Engine, Entity Framework 6 and ASP.NET Web API 2. It also introduces Windows Azure and the deployment of ASP.NET MVC applications to the Azure cloud.

 

The course covers the fundamentals of the Model-View-Controller design pattern and its implementation in ASP.NET MVC. This technology is compared with classical ASP.NET Web Forms. The two technologies share a common ASP.NET infrastructure. Visual Studio 2015 with .NET 4.5.2 is used as a productive platform for creating ASP.NET MVC applications. After presenting the fundamentals of the technology with several examples, the main components of Model, Controller and View are covered in detail. The discussion of the Model incorporates modern Microsoft data access technologies, including SQL Server 2014, LINQ and ADO.NET Entity Framework 6. The routing mechanism of ASP.NET MVC is covered. The course introduces automated unit testing of Web applications, one of the chief advantages of the new technology. Security is covered, with some hands-on illustrations of attacks and defenses against them. The course includes a discussion of how ASP.NET MVC and Web Forms can be used together in the same application. The course includes with an introduction to ASP.NET Web API and concludes with deployment to Windows Azure. An appendix covers deployment on IIS 7.5

 

Numerous programming examples and exercises are provided. The student will receive a comprehensive set of notes and all the programming examples.

 

LEARNING OBJECTIVES

 

         Gain a thorough understanding of the philosophy and architecture of Web applications using ASP.NET MVC

         Acquire a working knowledge of Web application development using ASP.NET MVC 5 and Visual Studio 2015

         Access databases with SQL Server 2014, ADO.NET, LINQ, and Entity Framework 6

         Perform automated testing of Web applications created using ASP.NET MVC and the built-in Visual Studio Unit Test Framework

         Implement security in ASP.NET MVC applications

         Combine ASP.NET MVC and Web Forms when appropriate

         Create HTTP services using ASP.NET Web API 2

         Deploy ASP.NET MVC applications to the Windows Azure cloud

 

Duration: 3 days

 

Prerequisites: The student should have a good working knowledge of C# and the .NET Framework. Basic knowledge of ASP.NET and HTML is also required.

 

1.      Introduction to ASP.NET MVC

Review of ASP.NET Web Forms

Advantages and Disadvantages of Web Forms

Model-View-Controller Pattern

ASP.NET MVC

Advantages and Disadvantages of ASP.NET MVC

Unit Testing

 

2.      Getting Started with ASP.NET MVC

Installing ASP.NET MVC

Using Visual Studio

Hello World for ASP.NET MVC

Rendering Views

Razor View Engine

Dynamic Output

 

3.      ASP.NET MVC Architecture

The Controller in ASP.NET MVC

The View in ASP.NET MVC

The Model in ASP.NET MVC

Helper Methods for HTML

Form Submission

Model Binding

Input Validation

 

5. The Model

Microsoft Technologies for the Model

ADO.NET

LINQ

ADO.NET Entity Framework 6

CRUD Operations

NuGet Package Manager

 

4.      The Controller

IController Interface

Controller Base Class

Actions

Retrieving Data from a Request

Action Results

Action Attributes

Filters

Asynchronous Controllers

 

6.      The View

View Responsibility

Using ViewBag

Using Dynamic Objects

Html Helpers

Validation Attributes

 

7.      Routing

Routing in ASP.NET MVC

Properties of Routes

Parameters in Routing

Registering Routes

Debugging Routes

Areas

 

8.      Unit Testing

Test-Driven Development

Test Automation

Refactoring

Visual Studio Unit Test Framework

Test Cases

Test Classes

Test Runners

Testing ASP.NET MVC Applications

Dependency Injection

Mocking Frameworks

Inversion of Control Containers

 

9.      Security

Input Forgery

Cross-Site Scripting

Session Hijacking

Cross-site Request Forgery

SQL Injection

Using the MVC Framework Securely

 

10. Combining ASP.NET MVC and Web Forms

Using Web Forms in an MVC Application

Using MVC in a Web Forms Application

 

11. ASP.NET Web API

ASP.NET Web API

Representational State Transfer

REST and Web API

HTTP Services Using Web API

Using Fiddler

ASP.NET Web API Clients

CRUD Operations

 

12. ASP.NET and Azure

What Is Windows Azure?

A Windows Azure Testbed

Deploying an Application to Azure

Updating an Application on Azure

 

Appendix A. Learning Resources

 

Appendix B. Deployment in IIS 7.5

 

IIS 7.5

MVC with IIS 7.5

XCOPY Deployment

 

System Requirements

 

Required software is Visual Studio 2015, which includes LocalDB, a lightweight version of SQL Server 2014 Express. The free Visual Studio Community 2015 may be used. The operating system should be Windows 7SP1 or more recent. Several free tools are also used. These can all be downloaded from the Web. The last chapter requires a connection to the Internet, and a Windows Azure account (a free trial account is available from Microsoft). See the course Setup Notes for details.

 

A good minimal hardware profile for this course would have a 1.8 GHz or equivalent CPU, 2 GB of RAM, and at least 10 GB of free disk space for tools installation and courseware.