Building Effective ASP.NET 2 Web Applications using Microsoft Visual Studio 2005 — A 5-Day Course
Course Synopsis
This course provides the necessary skills and techniques to design and write scalable, robust and secure Web applications using Microsoft Visual Studio 2005 and the ASP.NET 2.0 Framework.
You will gain in-depth technical knowledge of ASP.NET and its related technologies and obtain practical insights into developing enterprise-scale, data-driven Web applications. Throughout the course you will be building a fully functional ASP.NET 2.0 web solution, using best practices including writing secure code to protect against potential malicious attacks.
The course is presented as a mixture of lectures and hands-on exercises. Instructions and solutions are provided in both C# 2.0 and Visual Basic 2005, enabling you to work with your choice of language. (Before attending, delegates must already know one of these .NET languages.)
Course Objectives
On completion of this course, delegates should be able to:
- Create file- and HTTP-based web projects using Visual Studio 2005
- Use validation techniques to ensure input data accuracy
- Use Master Pages and CSS to enforce design principles
- Personalise web applications using profiles, themes and skins
- Create modular user interfaces using web parts and user controls
- Implement menus, wizards and other site navigation mechanisms
- Diagnose problems and implement a coherent error handling architecture
- Create data-driven and data-bound user interfaces using XML and relational data sources
- Understand and manage state across and within page transitions
- Implement authentication, authorisation and role based security using the ASP.NET 2.0 membership system and the login controls
- Extend the pipeline using custom modules and handlers
- Use optimisation and monitoring techniques to improve the application
- Describe and implement AJAX-style functionality to provide a richer UI experience
- Create and use Web Services
Course Prerequisites
Before attending this course, students must have the following skills:
- Delegates should have basic knowledge of HTML and web page creation. These skills can be obtained by attending the Building an Effective Web Site course.
- Delegates should have an existing knowledge of a .NET programming language or be experienced developers with another Object Orientated language. Delegates without these skills would benefit from attending a .NET programming language course.
Publicly scheduled dates, locations, and prices
A schedule of dates for this subject is not currently available. Please call 0800 651 0338 or use our contact form to enquire about places and availability.
Outline Course Contents
Fundamentals
- Internet fundamentals
- The HTTP protocol
- Cookies
- Form processing
- HTML form elements review
- Internet Information Server
- Virtual directories
- Configuring your ASP.NET application
- The ASP.NET processing model
- ASP.NET page execution
- The event lifecycle
- The ASP.NET object model overview
Using Visual Studio 2005
- Creating File and HTTP based Web sites
- Creating projects
- Project and solution structures
- Project-less development
- The ASP.NET folder structure
- Essential features of the editors and the IDE
- Understanding the code separation model
- The Visual Web Developer Web Server
- Copying and Publishing your site
Designing your web site
- Using tables for layout
- Using CSS for layout
- Creating common layout with Master pages
- Content placeholders
- Content pages
- Server controls overview
- Styling with CSS
- The stylesheet designer
- Themes and skins
- Multiple skins
- Overriding themes
- StylesheetThemes
- Applying themes programmatically
Validation and Error handling
- The need for validation
- Validation on the client and server
- The ASP.NET validation controls
- The ValidateRequest directive
- Exception handling
- Page Error event
- Application Error
- Configuring custom error handling in Web.config
Site navigation
- Navigation scenarios
- Basic navigation in ASP.NET
- Alternative navigation mechanisms
- Redirecting the browser
- Maintaining state between pages
- Cross page postbacks
- Accessing the previous page
- Creating wizards
- Templating wizards
- The navigation API
- The Web.sitemap file
- Menus
- Treeviews
- Breadcrumbs
User controls and Web parts
- Building common page parts
- Encapsulation and user controls
- Using user controls
- hat are Web parts
- Web part infrastructure
- Creating Web parts
- Styling Web parts
- Supporting customisation of layout
- Editor parts
- Catalog parts
- Personalization providers
Components and architecture
- Architecture considerations
- Component based development
- General data access issues: locking, scalability, performance
Data access and presentation
- Using the ASP.NET 2.0 data source controls
- GridView, FormView and DetailsView
- Examine custom binding strategies
ADO.NET and XML
- The ADO.NET managed providers
- DataSets and DataAdapters
- DataReader
- Configuring ASP.NET applications to use ADO.NET
- Using XML, XSLT and XML queries
Caching
- The Cache API
- Using Cache dependencies
- SqlCacheDependency objects
- The OutputCache directive
- User control caching
- The substitution control
State management
- State considerations
- State scenarios
- Maintaining state across postbacks
- Securing ViewState
- Maintaining state between pages
- Maintaining state across all pages
- Session performance and robustness
- Custom Session storage
- Cookieless sessions
- Persisting state between sessions
- Declaring and using Profile state
- Anonymous identification
Securing access to Web applications
- Security issues
- IIS authentication/authorisation
- ASP.NET authentication/authorisation
- Principals, Identities and Roles
- ASP.NET authentication options
- ASP.NET authorisation options
- Forms authentication
- Using the Membership and Role system
- The login controls
- Code-based checks
You've been hacked
- Understanding and modelling threats
- Cross-site scripting
- SQL injection
- Replay attacks
- Canonicalisation issues
- Query string, form variable and cookie vulnerabilities
- Session hijacking
- Tips for hardening your application
Under the covers
- Extending the pipeline with custom modules and handlers
- URL re-writing
- The health monitoring API
- Web events
- Heartbeat events
- Creating custom events
AJAX
- What is AJAX?
- AJAX infrastructure
- Steps for creating client-callbacks
- Processing the request server-side
- Processing the response client-side
- ATLAS
Web services
- Service oriented architecture
- The role of Web services
- Writing Web services with ASP.NET
- Using a Web service from your application
- Asynchronous page processing
