Siêu thị PDFTải ngay đi em, trời tối mất

Thư viện tri thức trực tuyến

Kho tài liệu với 50,000+ tài liệu học thuật

© 2023 Siêu thị PDF - Kho tài liệu học thuật hàng đầu Việt Nam

MCTS SelfPaced Training Kit (Exam 70516): Accessing Data with Microsoft .NET Framework 4
PREMIUM
Số trang
671
Kích thước
15.6 MB
Định dạng
PDF
Lượt xem
1371

MCTS SelfPaced Training Kit (Exam 70516): Accessing Data with Microsoft .NET Framework 4

Nội dung xem thử

Mô tả chi tiết

Introduction

System Requirements

Hardware Requirements

Software Requirements

Code Samples

Using the CD

How to Install the Practice Tests

How to Use the Practice Tests

How to Uninstall the Practice Tests

Acknowledgments

Support & Feedback

Errata

We Want to Hear from You

Stay in Touch

Preparing for the Exam

CHAPTER 1

ADO.NET Disconnected Classes

Before You Begin

Lesson 1: Working with the DataTable and DataSet Classes

The DataTable Class

Using DataView as a Window into a Data Table

Using a DataSet Object to Coordinate Work Between Data Tables

Lesson Summary

Lesson Review

Lesson 2: Serialization, Specialized Types, and Data Binding

Serializing and Deserializing the Data Table with XML Data

Serializing and Deserializing DataSet Objects

Handling Specialized Types

Data Binding Overview

Lesson Summary

Lesson Review

Case Scenarios

Case Scenario 1: The Traveling Sales Team

Case Scenario 2: Sorting and Filtering Data

Suggested Practices

Take a Practice Test

CHAPTER 2

ADO.NET Connected Classes

Before You Begin

Lesson 1: Connecting to the Data Store

Using Providers to Move Data

Getting Started with the DbConnection Object

Storing the Connection String in the Application Configuration File

Encrypted Communications to SQL Server

Storing Encrypted Connection Strings in Web Applications

Connection Pooling

Lesson Summary

Lesson Review

Lesson 2: Reading and Writing Data

DbCommand Object

DbDataReader Object

Using Multiple Active Result Sets (MARS) to Execute Multiple Commands on a Connection

Performing Bulk Copy Operations with a SqlBulkCopy Object

DbDataAdapter Object

DbProviderFactory Classes

Using DbException to Catch Provider Exceptions

Working with SQL Server User-Defined Types (UDTs)

Lesson Summary

Lesson Review

Lesson 3: Working with Transactions

What Is a Transaction?

Concurrency Models and Database Locking

Transaction Isolation Levels

Single Transactions and Distributed Transactions

Creating a Transaction

Introducing the System.Transactions Namespace

Working with Distributed Transactions

Viewing Distributed Transactions

Lesson Summary

Lesson Review

Case Scenarios

Case Scenario 1: Clustered Servers and Connection Pooling

Case Scenario 2: The Daily Imports

Suggested Practices

Take a Practice Test

CHAPTER

Introducing LINQ3

Before You Begin

Lesson 1: Understanding

LINQ

A LINQ Example

Deferred Execution

LINQ Providers

Features That Make Up

LINQ

Lesson Summary

Lesson Review

Lesson 2: Using LINQ

Queries

Syntax-Based and

Method-Based Queries

LINQ Keywords

Projections

Using the Let Keyword

to Help with Projections

Specifying a Filter

Specifying a Sort Order

Paging

Joins

Grouping and

Aggregation

Parallel LINQ (PLINQ)

Lesson Summary

Lesson Review

Case Scenarios

Case Scenario 1:

Fibonacci Sequence

Case Scenario 2: Sorting

and Filtering Data

Suggested Practices

Create Query with

Extension Methods

Create LINQ Queries

Take a Practice Test

CHAPTER 4

LINQ to SQL

Before You Begin

Lesson 1: What Is LINQ

to SQL?

Modeling Your Data

Examining the Designer

Output

Managing Your

Database Connection

and Context Using

DataContext

Lesson Summary

Lesson Review

Lesson 2: Executing

Queries Using LINQ to

SQL

Basic Query with Filter

and Sort

Projections

Inner Joins

Outer Joins

Grouping and

Aggregation

Paging

Lesson Summary

Lesson Review

Lesson 3: Submitting

Changes to the Database

Using DataContext

to Track Changes and

Cache Objects

The Life Cycle of an

Entity

Modifying Existing

Entities

Adding New Entities to DataContext

Deleting Entities

Using Stored Procedures

Using DataContext to Submit Changes

Submitting Changes in a Transaction

Lesson Summary

Lesson Review

Case Scenario

Case Scenario: Object-Oriented Data

Access

Suggested Practices

Create an Application That Uses LINQ

to SQL Queries

Create an Application That Modifies

Data by Using LINQ to SQL

Take a Practice Test

CHAPTER 5

LINQ to XML

Before You Begin

Lesson 1: Working with the

XmlDocument and XmlReader

Classes

The XmlDocument Class

The XmlReader Class

Lesson Summary

Lesson Review

Lesson 2: Querying with LINQ to XML

Introducing the XDocument Family

Using the XDocument Classes

Lesson Summary

Lesson Review

Lesson 3: Transforming XML Using

LINQ to XML

Transforming XML to Objects

Transforming XML to Text

Transforming XML to XML

Lesson Summary

Lesson Review

Case Scenario

Case Scenario: XML Web Service

Suggested Practices

Take a Practice Test

CHAPTER 6

ADO.NET Entity Framework

Before You Begin

Lesson 1: What Is the ADO.NET Entity

Framework?

Entity Framework Architecture

Overview

Entity Framework vs. LINQ to SQL

Modeling Data

Managing your Database Connection

and Context Using ObjectContext

More Modeling and Design

Implementing Inheritance in the Entity

Framework

POCO Entities

Lesson Summary

Lesson Review

Lesson 2: Querying and Updating with

the Entity Framework

Using LINQ to Entities to Query Your

Database

Introducing Entity SQL

Using ObjectContext to Submit

Changes to the Database

Lesson Summary

Lesson Review

Case Scenarios

Case Scenario 1: Choosing an Object￾Relational Mapper

Case Scenario 2: Using the Entity Framework

Suggested Practices

Create an Application That Uses LINQ to Entities

Queries

Create an Application That Modifies Data by Using

LINQ to Entities

Take a Practice Test

CHAPTER 7

WCF Data Services

Before You Begin

Lesson 1: What Is WCF Data Services?

Introducing OData

Creating a WCF Data Service

Querying Data through WCF Data Services

Lesson Summary

Lesson Review

Lesson 2: Consuming WCF Data Services

Adding a Client Application

Lesson Summary

Lesson Review

Case Scenario

Case Scenario: Exposing Data

Suggested Practices

Take a Practice Test

CHAPTER 8

Developing Reliable Applications

Before You Begin

Lesson 1: Monitoring and Collecting Performance Data

Implementing Instrumentation

Logging Queries

Accessing and Implementing Performance Counters

Lesson Summary

Lesson Review

Lesson 2: Handling Exceptions

Preventing Connection and Command Exceptions

Handling Connection and Query Exceptions

Handling Exceptions When Submitting Changes

Lesson Summary

Lesson Review

Lesson 3: Protecting Your Data

Encoding vs. Encryption

Symmetric Cryptography

Asymmetric Cryptography

Hashing and Salting

Digital Signatures

Encrypting Connections and Configuration Files

Principle of Least Privilege

Lesson Summary

Lesson Review

Lesson 4: Synchronizing Data

The Microsoft Sync Framework

Lesson Summary

Lesson Review

Case Scenario

Case Scenario: Data Synchronization

Suggested Practices

Take a Practice Test

CHAPTER 9

Deploying Your Application

Before You Begin

Lesson 1: Deploying Your Application

Packaging and Publishing from Visual Studio .NET

Deploying WCF Data Services Applications

Deployment for ASP.NET Websites

Silverlight Considerations

Deploying Entity Framework Metadata

Lesson Summary

Lesson Review

Case Scenario

Case Scenario: Data Synchronization

Suggested Practices

Take a Practice Test

Answers

About the Author

PUBLISHED BY

Microsoft Press

A Division of Microsoft Corporation

One Microsoft Way

Redmond, Washington 98052-6399

Copyright © 2011 by Glenn Johnson

All rights reserved. No part of the contents of this book may be reproduced or transmitted in any form or by any

means without the written permission of the publisher.

Library of Congress Control Number: 2011927329

ISBN: 978-0-7356-2739-0

Printed and bound in the United States of America.

Microsoft Press books are available through booksellers and distributors worldwide. If you need support related

to this book, email Microsoft Press Book Support at [email protected]. Please tell us what you think of

this book at http://www.microsoft.com/learning/booksurvey.

Microsoft and the trademarks listed at http://www.microsoft.com/about/legal/en/us/IntellectualProperty

/Trademarks/EN-US.aspx are trademarks of the Microsoft group of companies. All other marks are property of

their respective owners.

The example companies, organizations, products, domain names, email addresses, logos, people, places, and

events depicted herein are fictitious. No association with any real company, organization, product, domain name,

email address, logo, person, place, or event is intended or should be inferred.

This book expresses the author’s views and opinions. The information contained in this book is provided without

any express, statutory, or implied warranties. Neither the authors, Microsoft Corporation, nor its resellers, or

distributors will be held liable for any damages caused or alleged to be caused either directly or indirectly by

this book.

Acquisitions Editor: Martin Del Re

Developmental Editor: Karen Szall

Project Editor: Valerie Woolley

Editorial Production: nSight, Inc.

Technical Reviewer: Christophe Nasarre; Technical Review services provided by Content Master, a member of

CM Group, Ltd.

Copyeditor: Kerin Forsyth

Indexer: Luci Haskins

Cover: Twist Creative • Seattle

Exam 70-516: TS: Accessing Data with

Microsoft .NET Framework 4

OBJECTIVE CHAPTER LESSON

MODELING DATA (20%)

Map entities and relationships by using the Entity Data Model. Chapter 6 Lesson 1

Map entities and relationships by using LINQ to SQL. Chapter 4 Lesson 1

Create and customize entity objects. Chapter 6 Lesson 1

Connect a POCO model to the entity Framework. Chapter 6 Lesson 1

Create the database from the Entity Framework model. Chapter 6 Lesson 1

Create model-defined functions. Chapter 6 Lesson 1

MANAGING CONNECTIONS AND CONTEXT (18%)

Configure connection strings and providers. Chapter 2 Lesson 1

Create and manage a data connection. Chapter 2 Lesson 1

Secure a connection. Chapter 2 Lesson 1

Manage the DataContext and ObjectContext. Chapter 4

Chapter 6

Lesson 1

Lesson 1

Implement eager loading. Chapter 4

Chapter 6

Chapter 7

Lesson 1

Lesson 1

Lesson 1

Cache data. Chapter 1

Chapter 4

Lesson 1

Lesson 3

Configure ADO.NET Data Services. Chapter 7 Lesson 1, 2

QUERYING DATA (22%)

Execute a SQL query. Chapter 2 Lesson 2

Create a LINQ query. Chapter 3

Chapter 4

Lesson 1, 2

Lesson 2

Create an Entity SQL (ESQL) query. Chapter 3

Chapter 4

Chapter 6

Lesson 1, 2

Lesson 2

Lesson 2

Handle special data types. Chapter 1

Chapter 2

Lesson 2

Lesson 2

Query XML. Chapter 5 Lesson 1, 2, 3

Query data by using ADO.NET Data Services. Chapter 7 Lesson 1

MANIPULATING DATA (22%)

Create, update, or delete data by using SQL statements. Chapter 2 Lesson 2

Create, update, or delete data by using DataContext. Chapter 4 Lesson 3

Create, update, or delete data by using ObjectContext. Chapter 6 Lesson 2

Manage transactions. Chapter 2

Chapter 6

Lesson 3

Lesson 2

Create disconnected objects. Chapter 1 Lesson 1

DEVELOPING AND DEPLOYING RELIABLE APPLICATIONS (18%)

Monitor and collect performance data. Chapter 8 Lesson 1

Handle exceptions. Chapter 8 Lesson 2

Protect data. Chapter 8 Lesson 3

Synchronize data. Chapter 2

Chapter 8

Lesson 3

Lesson 4

Deploy ADO.NET components. Chapter 9 Lesson 1

Exam Objectives The exam objectives listed here are current as of this book’s publication date. Exam objectives

are subject to change at any time without prior notice and at Microsoft’s sole discretion. Please visit the Microsoft

Learning Web site for the most current listing of exam objectives: http://www.microsoft.com/learning/en/us/Exam

.aspx?ID=70-516.

Contents at a Glance

Introduction xiii

CHAPTER 1 ADO.NET Disconnected Classes 1

CHAPTER 2 ADO.NET Connected Classes 63

CHAPTER 3 Introducing LINQ 143

CHAPTER 4 LINQ to SQL 237

CHAPTER 5 LINQ to XML 295

CHAPTER 6 ADO.NET Entity Framework 359

CHAPTER 7 WCF Data Services 459

CHAPTER 8 Developing Reliable Applications 503

CHAPTER 9 Deploying Your Application 581

Answers 601

Index 623

vii

Contents

Introduction xiii

System Requirements. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . xiii

Code Samples. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . xv

Using the CD. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . xv

Acknowledgments. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . xvii

Support & Feedback. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . xviii

Chapter 1 ADO.NET Disconnected Classes 1

Lesson 1: Working with the DataTable and DataSet Classes. . . . . . . . . . . . . 3

The DataTable Class 4

Using DataView as a Window into a Data Table 17

Using a DataSet Object to Coordinate Work Between

Data Tables 20

Lesson 2: Serialization, Specialized Types, and Data Binding. . . . . . . . . . . 34

Serializing and Deserializing the Data Table with XML Data 34

Serializing and Deserializing DataSet Objects 37

Handling Specialized Types 48

Data Binding Overview 51

Chapter 2 ADO.NET Connected Classes 63

Lesson 1: Connecting to the Data Store. . . . . . . . . . . . . . . . . . . . . . . . . . . . . 65

Using Providers to Move Data 65

Getting Started with the DbConnection Object 66

What do you think of this book? We want to hear from you!

Microsoft is interested in hearing your feedback so we can continually improve our

books and learning resources for you. To participate in a brief online survey, please visit:

www.microsoft.com/learning/booksurvey/

viii Contents

Storing the Connection String in the Application

Configuration File 75

Encrypted Communications to SQL Server 76

Storing Encrypted Connection Strings in Web Applications 76

Connection Pooling 77

Lesson 2: Reading and Writing Data. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 85

DbCommand Object 85

DbDataReader Object 89

Using Multiple Active Result Sets (MARS) to Execute

Multiple Commands on a Connection 91

Performing Bulk Copy Operations with a SqlBulkCopy Object 93

DbDataAdapter Object 95

DbProviderFactory Classes 101

Using DbException to Catch Provider Exceptions 105

Working with SQL Server User-Defined Types (UDTs) 105

Lesson 3: Working with Transactions. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 120

What Is a Transaction? 120

Concurrency Models and Database Locking 121

Transaction Isolation Levels 121

Single Transactions and Distributed Transactions 123

Creating a Transaction 123

Introducing the System.Transactions Namespace 126

Working with Distributed Transactions 130

Viewing Distributed Transactions 133

Chapter 3 Introducing LINQ 143

Lesson 1: Understanding LINQ. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 145

A LINQ Example 145

Deferred Execution 147

LINQ Providers 149

Features That Make Up LINQ 150

Lesson 2: Using LINQ Queries. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 205

Syntax-Based and Method-Based Queries 205

LINQ Keywords 208

Projections 210

Contents ix

Using the Let Keyword to Help with Projections 211

Specifying a Filter 211

Specifying a Sort Order 212

Paging 213

Joins 215

Grouping and Aggregation 221

Parallel LINQ (PLINQ) 223

Chapter 4 LINQ to SQL 237

Lesson 1: What Is LINQ to SQL?. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 239

Modeling Your Data 239

Examining the Designer Output 243

Managing Your Database Connection and Context

Using DataContext 249

Lesson 2: Executing Queries Using LINQ to SQL. . . . . . . . . . . . . . . . . . . . . 260

Basic Query with Filter and Sort 260

Projections 261

Inner Joins 262

Outer Joins 264

Grouping and Aggregation 267

Paging 268

Lesson 3: Submitting Changes to the Database. . . . . . . . . . . . . . . . . . . . . 277

Using DataContext to Track Changes and Cache Objects 277

The Life Cycle of an Entity 278

Modifying Existing Entities 280

Adding New Entities to DataContext 282

Deleting Entities 283

Using Stored Procedures 285

Using DataContext to Submit Changes 286

Submitting Changes in a Transaction 286

Chapter 5 LINQ to XML 295

Lesson 1: Working with the XmlDocument and XmlReader Classes. . . . 297

The XmlDocument Class 297

The XmlReader Class 306

x Contents

Lesson 2: Querying with LINQ to XML. . . . . . . . . . . . . . . . . . . . . . . . . . . . . 320

Introducing the XDocument Family 320

Using the XDocument Classes 328

Lesson 3: Transforming XML Using LINQ to XML . . . . . . . . . . . . . . . . . . . . 344

Transforming XML to Objects 344

Transforming XML to Text 347

Transforming XML to XML 348

Chapter 6 ADO.NET Entity Framework 359

Lesson 1: What Is the ADO.NET Entity Framework?. . . . . . . . . . . . . . . . . . 361

Entity Framework Architecture Overview 361

Entity Framework vs. LINQ to SQL 363

Modeling Data 365

Managing your Database Connection and Context

Using ObjectContext 376

More Modeling and Design 385

Implementing Inheritance in the Entity Framework 391

POCO Entities 407

Lesson 2: Querying and Updating with the Entity Framework. . . . . . . . . 421

Using LINQ to Entities to Query Your Database 421

Introducing Entity SQL 425

Using ObjectContext to Submit Changes to the Database 434

Chapter 7 WCF Data Services 459

Lesson 1: What Is WCF Data Services?. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 461

Introducing OData 461

Creating a WCF Data Service 462

Querying Data through WCF Data Services 471

Lesson 2: Consuming WCF Data Services. . . . . . . . . . . . . . . . . . . . . . . . . . . 482

Adding a Client Application 482

Chapter 8 Developing Reliable Applications 503

Lesson 1: Monitoring and Collecting Performance Data. . . . . . . . . . . . . . 505

Implementing Instrumentation 505

Contents xi

Logging Queries 505

Accessing and Implementing Performance Counters 512

Lesson 2: Handling Exceptions. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 521

Preventing Connection and Command Exceptions 521

Handling Connection and Query Exceptions 523

Handling Exceptions When Submitting Changes 527

Lesson 3: Protecting Your Data. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 537

Encoding vs. Encryption 537

Symmetric Cryptography 539

Asymmetric Cryptography 545

Hashing and Salting 549

Digital Signatures 552

Encrypting Connections and Configuration Files 554

Principle of Least Privilege 556

Lesson 4: Synchronizing Data. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 560

The Microsoft Sync Framework 560

Chapter 9 Deploying Your Application 581

Lesson 1: Deploying Your Application. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 582

Packaging and Publishing from Visual Studio .NET 582

Deploying WCF Data Services Applications 583

Deployment for ASP.NET Websites 590

Silverlight Considerations 592

Deploying Entity Framework Metadata 593

Answers 601

Index 623

xii Contents

What do you think of this book? We want to hear from you!

Microsoft is interested in hearing your feedback so we can continually improve our

books and learning resources for you. To participate in a brief online survey, please visit:

www.microsoft.com/learning/booksurvey/

xiii

Introduction

This training kit is designed for developers who write or support applications that ac￾cess data written in C# or Visual Basic using Visual Studio 2010 and the Microsoft .NET

Framework 4.0 and who also plan to take the Microsoft Certified Technology Specialist

(MCTS) exam 70-516. Before you begin using this kit, you must have a solid foundation-level

understanding of Microsoft C# or Microsoft Visual Basic and be familiar with Visual Studio

2010.

The material covered in this training kit and on exam 70-516 relates to the data access

technologies in ADO.NET 4.0 with Visual Studio 2010. The topics in this training kit cover what

you need to know for the exam as described on the Skills Measured tab for the exam, which is

available at http://www.microsoft.com/learning/en/us/exam.aspx?ID=70-516&locale=en

-us#tab2.

By using this training kit, you will learn how to do the following:

■ Work with the ADO.NET disconnected classes

■ Work with the ADO.NET connection classes

■ Write and execute LINQ queries

■ Implement LINQ to SQL classes

■ Implement LINQ to XML in your applications

■ Implement the ADO.NET Entity Framework in your applications

■ Create and Implement WCF Data Service applications

■ Monitor and Collect ADO.NET performance data

■ Synchronize offline data

■ Deploy Data Access applications

Refer to the objective mapping page in the front of this book to see where in the book

each exam objective is covered.

System Requirements

The following are the minimum system requirements your computer needs to meet to

complete the practice exercises in this book and to run the companion CD. To minimize

the time and expense of configuring a physical computer for this training kit, it’s recom￾mended, but not required, that you use a virtualized environment, which will allow you to

work in a sandboxed environment. This will let you make changes without worrying about

xiv Introduction

your day-to-day environment. Virtualization software is available from Microsoft (Virtual PC,

Virtual Server, and Hyper-V) and other suppliers such as VMware (VMware Workstation) and

Oracle (VirtualBox).

Hardware Requirements

Your computer should meet the following minimum hardware requirements:

■ 2.0 GB of RAM (more is recommended)

■ 80 GB of available hard disk space

■ DVD-ROM drive

■ Internet connectivity

Software Requirements

The following software is required to complete the practice exercises:

■ Windows 7. You can download an Evaluation Edition of Windows 7 at the Microsoft

Download Center at http://technet.microsoft.com/en-us/evalcenter/cc442495.

■ SQL Server 2008 Developer Edition is recommended because some labs and sample

code use this edition for permanently mounted databases. An Evaluation Edition is

available from http://msdn.microsoft.com/en-us/evalcenter/bb851668.aspx.

■ SQL Server 2008 Express Edition is recommended because some labs and sample code

use this edition for User Instance mounted databases. A full release is available from

http://www.microsoft.com/express/Database.

NOTE SQL SERVER INSTALLATION

If you are using a 64-bit OS, you should install 64-bit SQL Server before installing

Visual Studio 2010. Visual Studio 2010 includes, and attempts to install, the 32-bit SQL

Server 2008 Express Edition.

If you install the 64-bit versions of SQL Server first, the Visual Studio 2010 installer will see

that SQL Server Express Edition is already installed and will skip over installing the 32-bit

SQL Server 2008 Express Edition.

■ Visual Studio 2010. You can download an evaluation edition from http://msdn.microsoft

.com/en-us/evalcenter/default. Although the labs and code samples were generated

using Visual Studio 2010 Premium Edition, you can use the Express Edition of Visual

Studio for many of the labs, which is available from http://www.microsoft.com/express.

Introduction xv

Code Samples

The code samples are provided in Visual C# and Visual Basic. You will find a folder for each

chapter that contains CS (C#) and VB (Visual Basic) code. In these folders, you will find the

sample code solution and a folder for each lesson that contains the practice code. The

Practice Code folder contains Begin and Completed folders, so you can choose to start at the

beginning and work through the practice or you can run the completed solution.

Using the CD

A companion CD is included with this training kit. The companion CD contains the following:

■ Practice tests You can reinforce your understanding of the topics covered in this

training kit by using electronic practice tests that you customize to meet your needs.

You can run a practice test that is generated from the pool of Lesson Review questions

in this book. Alternatively, you can practice for the 70-516 certification exam by using

tests created from a pool of over 200 realistic exam questions, which give you many

practice exams to ensure that you are prepared.

■ Code Samples All of the Visual Basic and C# code you see in the book you will also

find on the CD.

■ An eBook An electronic version (eBook) of this book is included for when you do not

want to carry the printed book with you.

Companion Content for Digital Book Readers: If you bought a digital edition of this book, you can

enjoy select content from the print edition’s companion CD.

Visit http://go.microsoft.com/fwlink/?Linkid=216910 to get your downloadable content. This content

is always up-to-date and available to all readers.

How to Install the Practice Tests

To install the practice test software from the companion CD to your hard disk, perform the

following steps:

1. Insert the companion CD into your CD drive and accept the license agreement. A CD

menu appears.

Tải ngay đi em, còn do dự, trời tối mất!