70-515 (TS: Web Applications Development with Microsoft .NET 4)

About this Exam This exam is designed to test the candidate's knowledge and skills for developing Web applications using ASP.NET and the .NET Framework 4. Questions that contain code will be presented in either VB or C#. Candidates can select one of these languages when they start the exam.

Audience Profile Candidates for this exam are professional Web developers who use Microsoft Visual Studio. Candidates should have a minimum of two to three years of experience developing Web-based applications by using Visual Studio and Microsoft ASP.NET. Candidates should be experienced users of Visual Studio 2008 and later releases and should have a fundamental knowledge of the .NET Framework 4 programming languages (C# or Microsoft Visual Basic). In addition, candidates should understand how to use the new features of Visual Studio 2010 and the .NET Framework 4. Candidates should also have a minimum of one year of experience with the following: - Accessing data by using Microsoft ADO.NET and LINQ - Creating and consuming Web and Windows Communication Foundation (WCF) services - State management - ASP.NET configuration - Debugging and deployment - Application and page life-cycle management - Security aspects such as authentication and authorization - Client-side scripting languages - Internet Information Server (IIS) - ASP.NET MVC

Skills Being Measured This exam measures your ability to accomplish the technical tasks listed below.The percentages indicate the relative weight of each major topic area on the exam.

Developing Web Forms Pages (19%) - Configure Web Forms pages. This objective may include but is not limited to: page directives such as ViewState, request validation, event validation, MasterPageFile; ClientIDMode; using web.config; setting the html doctype. This objective does not include: referencing a master page; adding a title to a Web form.

- Implement master pages and themes. This objective may include but is not limited to: creating and applying themes; adding multiple content placeholders; nested master pages; control skins; passing messages between master pages; switching between themes at runtime; loading themes at run time; applying a validation schema. This objective does not include: creating a master page; basic content pages.

- Implement globalization. This objective may include but is not limited to: resource files, browser files, CurrentCulture, currentUICulture, ASP:Localize

- Handle page life cycle events. This objective may include but is not limited to: IsPostback, IsValid, dynamically creating controls, control availability within the page life cycle, accessing control values on postback, overriding page events.

- Implement server controls. This objective may include but is not limited to: composite controls, INamingContainer, adding a server control to the toolbox, global assembly cache, creating a custom control event, globally registering from web.config; TypeConverters. This objective does not include: postback data handler, custom databound controls, templated control.

- Manipulate user interface controls from code-behind. This objective may include but is not limited to: HTML encoding to avoid cross-site scripting, navigating through and manipulating the control hierarchy; FindControl; controlRenderingCompatibilityVersion; URL encoding; RenderOuterTable. This objective does not include: Visibility, Text, Enabled properties.

Implementing Client-Side Scripting and AJAX (16%) - Add dynamic features to a page by using JavaScript. This objective may include but is not limited to: referencing client ID; Script Manager; Script combining; Page.clientscript.registerclientscriptblock; Page.clientscript.registerclientscriptinclude; sys.require (scriptloader) This objective does not include: interacting with the server; referencing JavaScript files; inlining JavaScript.

- Alter a page dynamically by manipulating the DOM. This objective may include but is not limited to: using jQuery, adding, modifying, or removing page elements, adding effects, jQuery selectors. This objective does not include: AJAX.

- Handle JavaScript events. This objective may include but is not limited to: DOM events, custom events, handling events by using jQuer

- Implement AJAX by using jQuery. This objective may include but is not limited to: $.get, $.post, $.getJSON, $.ajax, xml, html, JavaScript Object Notation (JSON), handling return types. This objective does not include: creating a service.

Configuring and Extending a Web Application (15%) - Configure authentication and authorization. This objective may include but is not limited to: using membership, using login controls, roles, location element, protecting an area of a site or a page. This objective does not include: Windows Live; Microsoft Passport; Windows and Forms authentication.

- Configure providers. This objective may include but is not limited to: role, membership, personalization, aspnet_regsql.exe. This objective does not include: creating custom providers.

- Create and configure HttpHandlers and HttpModules. This objective may include but is not limited to: generic handlers, asynchronous handlers, setting MIME types and other content headers, wiring modules to application events.

- Configure initialization and error handling. This objective may include but is not limited to: handling Application_Start, Session_Start, and Application_BeginRequest in global.asax, capturing unhandled exceptions, custom error section of web.config, redirecting to an error page; try and catch; creating custom exceptions.

- Reference and configure ASMX and WCF services. This objective may include but is not limited to: adding service reference, adding Web reference, changing endpoints, wsdl.exe, svcutil.exe; updating service URL; shared WCF contracts assembly. This objective does not include: creating WCF and ASMX services.

- Configure projects and solutions, and reference assemblies. This objective may include but is not limited to: local assemblies, shared assemblies (global assembly cache), Web application projects, solutions, settings file, configuring a Web application by using web.config or multiple .config files; assemblyinfo

- Debug a Web application. This objective may include but is not limited to: remote, local, JavaScript debugging, attaching to process, logging and tracing, using local IIS, aspnet_regiis.exe.

- Deploy a Web application. This objective may include but is not limited to: pre-compilation, publishing methods (e.g., SDeploy, xcopy, and FTP), deploying an MVC application. This objective does not include: application pools, IIS configuration.

Displaying and Manipulating Data (19%) - Implement data-bound controls. This objective may include but is not limited to: advanced customization of DataList, Repeater, ListView, FormsView, DetailsView, TreeView, DataPager, Chart, GridView. This objective does not include: working in Design mode.

- Implement DataSource controls. This objective may include but is not limited to: ObjectDataSource, LinqDataSource, XmlDataSource, SqlDataSource, QueryExtender, EntityDataSource. This objective does not include: AccessDataSource, SiteMapDataSource.

- Query and manipulate data by using LINQ. This objective may include but is not limited to: transforming data by using LINQ to create XML or JSON, LINQ to SQL, LINQ to Entities, LINQ to objects, managing DataContext lifetime. This objective does not include: basic LINQ to SQL.

- Create and consume a data service. This objective may include but is not limited to: WCF, Web service; server to server calls; JSON serialization, XML serialization This objective does not include: client side, ADO.NET Data Services

- Create and configure a Dynamic Data project. This objective may include but is not limited to: dynamic data controls, custom field templates; connecting to DataContext and ObjectContext. Developing a Web Application by Using ASP.NET MVC 2 (13%) - Create custom routes. This objective may include but is not limited to: route constraints, route defaults, ignore routes, custom route parameters.

- Create controllers and actions. This objective may include but is not limited to: Visual Studio support for right-click context menus; action filters (including Authorize, AcceptVerbs, and custom) and model binders; ActionResult sub-classes.

A journey of a thousand miles begins with a single step!

Every project is an opportunity to learn, to figure out problems and challenges, to invent, to reinvent and innovate. Without change there is no innovation, creativity, or incentive for improvement. Those who initiate change will have a better opportunity to manage the change that is inevitable...