Professional
Visual Studio® 2008
By
Nick Randolph
David Gardner
Wiley Publishing, Inc.
ffirs.indd v
6/23/08 9:30:23 AM
Professional
Visual Studio® 2008
Introduction ..................................
xxxvii
Chapter 15: The Languages
Ecosystem ....................
Part I: Integrated De velopment
Environment
Chapter 1: A Quick T our ........................
Chapter 14: The My Namespace ....... 211
3
229
Part IV: Coding
Chapter 2: The Solution Explorer ,
Toolbox, and Proper ties...... 13
Chapter 16: IntelliSense
and Bookmarks ............. 241
Chapter 3: Options and
Customizations .................. 31
Chapter 17: Code Snippets
and Refactoring ............. 255
Chapter 4: W orkspace Control ............ 47
Chapter 18: Modeling with the
Class Designer .............. 275
Chapter 5: F ind and Replace, and Help . 63
Chapter 20: Unit T esting ...................
Part II: Getting Star ted
Chapter 6: Solutions, Projects,
and Items ..........................
Chapter 7: Source Control.................
83
107
Chapter 8: F orms and Controls .......... 117
Chapter 9: Documentation Using
Comments and
Sandcastle ......................
131
Chapter 10: Project and
Item Templates .............. 151
Part III: Languages
Chapter 11: Generics, Nullable Types,
Partial Types,
and Methods ................. 171
Chapter 12: Anonymous T ypes,
Extension Methods, and
Lambda Expressions ...... 187
Chapter 13: Language-Specific
Features ........................
Chapter 19: Ser ver Explorer .............. 289
199
305
Part V: Data
Chapter 21: DataSets and
DataBinding ..................
325
Chapter 22: V isual Database T ools .... 365
Chapter 23: Language Integrated
Queries (LINQ) ............... 383
Chapter 24: LINQ to XML .................. 393
Chapter 25: LINQ to SQL and
Entities .........................
403
Chapter 26: Synchronization
Services ........................
417
Part VI: Security
Chapter 27: Security in the
.NET F ramework ............ 435
Chapter 28: Cr yptography ................. 447
Chapter 29: Obfuscation ...................
469
(Continued)
ffirs.indd i
6/23/08 9:30:20 AM
Chapter 30: Client Application
Services ........................
481
Chapter 45: Advanced Debugging
Techniques ....................
Chapter 31: Device Security
Manager ........................
495
Part X: Build and Deplo yment
Chapter 46: Upgrading with V isual
Studio 2008 .................. 769
Part VII: Platfor ms
Chapter 32: ASP.NET W eb
Applications ..................
751
505
Chapter 47: Build Customization ....... 777
Chapter 48: Assembly V ersioning
and Signing ...................
795
Chapter 35: WPF Applications .......... 595
Chapter 49: ClickOnce and MSI
Deployment ...................
803
Chapter 36: WCF and WF
Applications ..................
Chapter 50: Web and Mobile
Application
Deployment ...................
825
Chapter 33: Office Applications ......... 547
Chapter 34: Mobile Applications ....... 567
609
Chapter 37: Next Generation W eb:
Silverlight and
ASP.NET MVC ................ 625
Part XI: Automation
Part VIII: Configuration and
Internationalization
Chapter 51: The Automation Model ... 839
Chapter 52: Add-Ins ..........................
849
Chapter 38: Configuration F iles ......... 649
Chapter 53: Macros ..........................
867
Chapter 39: Connection Strings ........ 667
Chapter 40: Resource F iles ............... 677
Part XII: Visual Studio T eam
System
Part IX: Debugging
Chapter 54: VSTS: Architect
Edition ..........................
881
Chapter 55: VSTS: De veloper
Edition ..........................
891
Chapter 41: Using the Debugging
Windows .......................
697
Chapter 42: Debugging with
Breakpoints ................... 711
Chapter 56: VSTS: T ester Edition ...... 903
Chapter 43: Creating Debug Proxies
and V isualizers .............. 723
Chapter 57: VSTS: Database
Edition ..........................
911
Chapter 44: Debugging Web
Applications ..................
Chapter 58: Team Foundation
Server ...........................
923
ffirs.indd ii
735
6/23/08 9:30:22 AM
Professional
Visual Studio® 2008
ffirs.indd iii
6/23/08 9:30:22 AM
ffirs.indd iv
6/23/08 9:30:22 AM
Professional
Visual Studio® 2008
By
Nick Randolph
David Gardner
Wiley Publishing, Inc.
ffirs.indd v
6/23/08 9:30:23 AM
Professional V isual Studio® 2008
Published by
Wiley Publishing, Inc.
10475 Crosspoint Boulevard
Indianapolis, IN 46256
www.wiley.com
Copyright © 2008 by Wiley Publishing, Inc., Indianapolis, Indiana
ISBN: 978-0-470-229880
Manufactured in the United States of America
10 9 8 7 6 5 4 3 2 1
Library of Congress Cataloging-in-Publication Data is available from the publisher.
No part of this publication may be reproduced, stored in a retrieval system or transmitted in any form or by
any means, electronic, mechanical, photocopying, recording, scanning or otherwise, except as permitted
under Sections 107 or 108 of the 1976 United States Copyright Act, without either the prior written
permission of the Publisher, or authorization through payment of the appropriate per-copy fee to the
Copyright Clearance Center, 222 Rosewood Drive, Danvers, MA 01923, (978) 750-8400, fax (978) 646-8600.
Requests to the Publisher for permission should be addressed to the Legal Department, Wiley Publishing,
Inc., 10475 Crosspoint Blvd., Indianapolis, IN 46256, (317) 572-3447, fax (317) 572-4355, or online at
/>
Limit of Liability/Disclaimer of Warranty: The publisher and the author make no representations or
warranties with respect to the accuracy or completeness of the contents of this work and specifically
disclaim all warranties, including without limitation warranties of fitness for a particular purpose. No
warranty may be created or extended by sales or promotional materials. The advice and strategies contained
herein may not be suitable for every situation. This work is sold with the understanding that the publisher is
not engaged in rendering legal, accounting, or other professional services. If professional assistance is
required, the services of a competent professional person should be sought. Neither the publisher nor the
author shall be liable for damages arising herefrom. The fact that an organization or Website is referred to in
this work as a citation and/or a potential source of further information does not mean that the author or the
publisher endorses the information the organization or Website may provide or recommendations it may
make. Further, readers should be aware that Internet Websites listed in this work may have changed or
disappeared between when this work was written and when it is read.
For general information on our other products and services please contact our Customer Care Department
within the United States at (800) 762-2974, outside the United States at (317) 572-3993 or fax (317) 572-4002.
Trademarks: Wiley, the Wiley logo, Wrox, the Wrox logo, Wrox Programmer to Programmer, and related
trade dress are trademarks or registered trademarks of John Wiley & Sons, Inc. and/or its affiliates, in the
United States and other countries, and may not be used without written permission. Visual Studio is a
registered trademark of Microsoft Corporation in the United States and/or other countries. All other
trademarks are the property of their respective owners. Wiley Publishing, Inc., is not associated with any
product or vendor mentioned in this book.
Wiley also publishes its books in a variety of electronic formats. Some content that appears in print may not
be available in electronic books.
ffirs.indd vi
6/23/08 9:30:23 AM
About the Author s
Nick Randolph is currently the Chief Development Officer for N Squared Solutions, having recently left
his role as lead developer at Intilecta Corporation where he was integrally involved in designing and
building that firm’s application framework.
After graduating with a combined Engineering (Information Technology)/Commerce degree, Nick went
on to be nominated as a Microsoft MVP in recognition of his work with the Perth .NET user group and
his focus on mobile devices. He is still an active contributor in the device application development space
via his blog at and via the Professional Visual Studio
web site, />Over the past two years, Nick has been invited to present at a variety of events including Tech Ed
Australia, MEDC, and Code Camp. He has also authored articles for MSDN Magazine (ANZ edition)
and a book entitled Professional Visual Studio 2005, and has helped judge the 2004, 2005, and 2007 world
finals for the Imagine Cup.
David Gardner is a seasoned.NET developer and the Chief Software Architect at Intilecta Corporation.
David has an ongoing passion to produce well-designed, high-quality software products that engage
and delight users. For the past decade and a bit, David has worked as a solutions architect, consultant,
and developer, and has provided expertise to organizations in Australia, New Zealand, and Malaysia.
David is a regular speaker at the Perth .NET user group, and has presented at events including the .NET
Framework Launch, TechEd Malaysia, and the Microsoft Executive Summit. He holds a Bachelor of
Science (Computer Science) and is a Microsoft Certified Systems Engineer.
David regularly blogs about Visual Studio and .NET at fessionalvisualstudio
.com/, and maintains a personal web site at />
Guest Author s
Miguel Madero
Miguel Madero is a Senior Developer with Readify Consulting in Australia. Miguel has architected
different frameworks and solutions for disconnected mobile applications, ASP.NET, and Distributed
Systems, worked with Software Factories, and trained other developers in the latest Microsoft
technologies. Miguel was also the founder of DotNetLaguna, the .NET User Group in Torreón, Coahuila,
México. In his spare time Miguel enjoys being with his beautiful fiancée, Carina, practicing rollerblading,
and trying to surf at Sydney’s beaches. You can find Miguel’s blog at />Miguel wrote Chapters 54 through 58 of this book, covering Visual Studio Team Suite and Team
Foundation Server.
Keyvan Nayyeri
Keyvan Nayyeri is a software architect and developer with a Bachelor of Science degree in Applied
Mathematics. Keyvan’s main focus is Microsoft development and related technologies. He has published
articles on many well-known .NET online communities and is an active team leader and developer for
several .NET open-source projects.
ffirs.indd vii
6/23/08 9:30:24 AM
About the Authors
Keyvan is the author of Professional Visual Studio Extensibility and co-authored Professional Community
Server, also published by Wrox Press. You can find his thoughts on .NET, Community Server and
Technology at />Keyvan was a guest author on this book, writing Chapters 51 through 53 on Visual Studio Automation.
Joel Pobar
Joel Pobar is a habituated software tinkerer originally from sunny Brisbane, Australia. Joel was a
Program Manager on the .NET Common Language Runtime team, sharing his time between late-bound
dynamic CLR features (Reflection, Code Generation), compiler teams, and the Shared Source CLI
program (Rotor). These days, Joel is on sabbatical, exploring the machine learning and natural language
processing worlds while consulting part-time for Microsoft Consulting Services. You can find Joel’s
recent writings at />Joel lent his expertise to this book by authoring Chapter 15 on the Languages Ecosystem.
viii
ffirs.indd viii
6/23/08 9:30:24 AM
Credits
Acquisitions Editor
Production Manager
Katie Mohr
Tim Tate
Development Editor
Vice President and Executive Group Publisher
William Bridges
Richard Swadley
Technical Editor s
Vice President and Executive Publisher
Todd Meister
Keyvan Nayyeri
Doug Holland
Joseph B. Wikert
Production Editor
Project Coordinator , Cover
Lynsey Osborne
William A. Barton
Proofreaders
Copy Editor s
David Fine, Corina Copp,
Word One
Kim Cofer
S.D. Kleinman
Indexer
Editorial Manager
Robert Swanson
Mary Beth Wakefield
ffirs.indd ix
6/23/08 9:30:25 AM
ffirs.indd x
6/23/08 9:30:25 AM
Acknowledgments
I was expecting that writing the second edition of this book would be relatively straightforward — a
little tweak here and a bit extra there — but no, the reality was that it was again one of the most timedemanding exercises I’ve undertaken in recent years. I must thank my partner, Cynthia, who
consistently encouraged me to “get it done,” so that we can once again have a life.
I would especially like to thank everyone at Wrox who has helped me re-learn the art of technical
writing — in particular, Bill Bridges, whose attention to detail has resulted in consistency throughout the
book despite there being five authors contributing to the process, and Katie Mohr (whose ability to get
us back on track was a life-saver), who made the whole process possible.
I have to pass on a big thank you to my co-author, David Gardner, who agreed to work with me on the
second edition of this book. I doubt that I really gave an accurate representation of exactly how much
work would be involved, and I really appreciated having someone of such high caliber to bounce ideas
off of and share the workload. As we approached the mid-point of this book, I really appreciated a
number of guest authors stepping in to help ensure we were able to meet the deadline. So a big thanks to
Keyvan Nayyeri, Miguel Madero, and Joel Pobar for their respective contributions.
Lastly, I would like to thank all of my fellow Australian MVP developers and the Microsoft staff (Dave
Glover and Andrew Coates particularly), who were always able to answer any questions along the way.
— Nick Randolph
This book represents one of the most rewarding and challenging activities I’ve ever undertaken. Writing
while maintaining a full-time job is certainly not for the fainthearted. However, in the process I have
amassed a wealth of knowledge that I never would have found the time to learn otherwise.
The process of writing a book is very different from writing code, and I am especially thankful to the
team at Wrox for helping guide me to the finish line. Without Katie Mohr and Bill Bridges working as
hard as they did to cajole the next chapter out of us, we never would have gotten this finished. Katie put
her trust in me as a first-time author, and fully supported our decisions regarding the content and
structure of the book. Bill improved the clarity and quality of my writing and corrected my repeated
grammatical transgressions and Aussie colloquialisms. It was a pleasure to be in such experienced
hands, and I thank them both for their patience and professionalism.
A huge thank you goes to my co-author Nick Randolph, who invited me to join him in writing this book,
and managed to get us organized early on when I had very little idea what I was doing. I enjoyed
collaborating on such a big project and the ongoing conversations about the latest cool feature that we’d
just discovered.
Much appreciation and thanks go to our guest authors, Keyvan Nayyeri, Miguel Madero, and Joel Pobar,
whose excellent contributions to this book have improved it significantly. Also thanks to my fellow
ffirs.indd xi
6/23/08 9:30:25 AM
Acknowledgments
coffee drinkers and .NET developers, Mitch Wheat, Michael Minutillo, and Ola Karlsson, for their
feedback and suggestions on how to improve various chapters.
Most of all I would like to thank my beautiful and supportive wife, Julie. She certainly didn’t know what
she was getting herself into when I agreed to write this book, but had she known I’ve no doubt that she
would still have been just as encouraging and supportive. Julie did more than her fair share for our
family when I needed to drop almost everything else, and I am truly grateful for her love and friendship.
Finally, thanks to my daughters Jasmin and Emily, who gave up countless cuddles and tickles so that
Daddy could find the time to write this book. I promise I’ll do my best to catch up on the tickles
that I owe you, and pay them back with interest.
— David Gardner
xii
ffirs.indd xii
6/23/08 9:30:25 AM
Contents
Introduction xxxvii
Part I: Integrated De velopment En vironment
1
Chapter 1: A Quick T our
3
Let’s Get Star ted
The V isual Studio IDE
3
5
Develop, Build, and Debug Your First Application
Summary
Chapter 2: The Solution Explorer , Toolbox, and Proper ties
The Solution Explorer
Common Tasks
The Toolbox
Arranging Components
Adding Components
Properties
Extending the Properties Window
Summary
Chapter 3: Options and Customizations
Window Layout
Viewing Windows and Toolbars
Navigating Open Items
Docking
The Editor Space
Fonts and Colors
Visual Guides
Full-Screen Mode
Tracking Changes
ftoc.indd xiii
7
12
13
13
15
21
23
24
25
27
30
31
31
32
32
33
36
36
37
38
38
6/24/08 12:21:41 AM
Contents
Other Options
Keyboard Shortcuts
Projects and Solutions
Build and Run
VB.NET Options
Importing and Expor ting Settings
Summary
Chapter 4: W orkspace Control
Command Window
Immediate Window
Class V iew
Object Browser
Object T est Bench
Invoking Static Methods
Instantiating Objects
Accessing Fields and Properties
Invoking Instance Methods
Code V iew
Forward/Backward
Regions
Outlining
Code Formatting
Document Outline T ool Window
HTML Outlining
Control Outline
Summary
Chapter 5: F ind and Replace, and Help
Introducing F ind and Replace
Quick Find
Quick Find and Replace Dialog Options
Find in Files
Find Dialog Options
Results Window
Replace in F iles
Incremental Search
Find Symbol
Find and Replace Options
39
39
41
42
43
43
45
47
47
48
49
50
52
52
53
54
55
55
56
56
56
57
58
58
59
61
63
63
64
66
68
69
70
70
71
72
73
xiv
ftoc.indd xiv
6/24/08 12:21:41 AM
Contents
Accessing Help
73
Document Explorer
Dynamic Help
74
76
The Search Window
Keeping Favorites
Customizing Help
Summary
76
78
78
79
Part II: Getting Star ted
81
Chapter 6: Solutions, Projects, and Items
83
Solution Str ucture
Solution File Format
Solution Proper ties
Common Properties
Configuration Properties
Project T ypes
Project F iles Format
Project Proper ties
Application
Compile (Visual Basic only)
Build (C# only)
Debug
References (Visual Basic only)
Resources
Services
Settings
Signing
My Extensions (Visual Basic only)
Security
Publish
Web (Web Application Projects only)
Web Site Projects
Summary 105
Chapter 7: Source Control
Selecting a Source Control Repositor y
Environment Settings
Plug-In Settings
83
85
86
86
87
88
90
90
91
93
95
96
97
98
99
100
100
101
102
103
104
104
107
108
109
109
xv
ftoc.indd xv
6/24/08 12:21:42 AM
Contents
Accessing Source Control
109
Creating the Repository
Adding the Solution
Solution Explorer
Checking In and Out
Pending Changes
Merging Changes
History
Pinning
110
111
111
112
112
113
114
115
Offline Support for Source Control
Summary 116
Chapter 8: F orms and Controls
The Windows F orm
Appearance Properties
Layout Properties
Window Style Properties
Form Design Preferences
Adding and P ositioning Controls
Vertically Aligning Text Controls
Automatic Positioning of Multiple Controls
Locking Control Design
Setting Control Properties
Service-Based Components
Smart Tag Tasks
Container Controls
Panel and SplitContainer
FlowLayoutPanel
TableLayoutPanel
Docking and Anchoring Controls
Summary 130
Chapter 9: Documentation Using Comments and Sandcastle
Inline Commenting
XML Comments
Adding XML Comments
XML Comment Tags
Using XML Comments
IntelliSense Information
Sandcastle Documentation Generation T ools
115
117
117
119
119
120
120
121
122
123
124
124
125
126
127
127
128
128
129
131
131
132
132
133
143
144
144
xvi
ftoc.indd xvi
6/24/08 12:21:42 AM
Contents
Task List Comments
Summary 149
Chapter 10: Project and Item T emplates
Creating Templates
147
151
151
Item Template
Project Template
Template Structure
Template Parameters
151
155
156
158
Extending T emplates
159
Template Project Setup
IWizard
Starter Template
159
161
164
Summary 167
Part III: Languages
Chapter 11: Generics, Nullable Types, Partial Types, and Methods
Generics
169
171
171
Consumption
Creation
Constraints
172
173
174
Nullable Types
Partial Types
176
178
Form Designers
Partial Methods
Operator Over loading
Operators
Type Conversions
Why Static Methods Are Bad
Property Accessibility
Custom Events
Summary 186
Chapter 12: Anon ymous T ypes, Extension Methods,
and Lambda Expressions
Object and Ar ray Initialization
Implicit Typing
Anonymous T ypes
179
180
181
181
182
183
184
185
187
187
189
191
xvii
ftoc.indd xvii
6/24/08 12:21:42 AM
Contents
Extension Methods
Lambda Expressions
Summary 198
Chapter 13: Language-Specific F eatures
C#
Anonymous Methods
Iterators
Static Classes
Naming Conflicts
Pragma
Automatic Properties
VB.NET
IsNot
Global
TryCast
Ternary If Operator
Relaxed Delegates
193
195
199
199
199
201
202
203
206
207
207
207
208
208
209
209
Summary 210
Chapter 14: The My Namespace
211
What Is the My Namespace?
Using My in Code
211
213
Using My in C#
Contextual My
Default Instances
A Namespace Over view
My.Application
My.Computer
My.Forms and My.WebServices
My for the Web
My.Resources
Other My Classes
Your Turn
Methods and Properties
Extending the Hierarchy
Packaging and Deploying
214
215
217
218
218
219
223
223
223
224
224
224
225
226
Summary 228
xviii
ftoc.indd xviii
6/24/08 12:21:43 AM
Contents
Chapter 15: The Languages Ecosystem
229
Hitting a Nail with the Right Hammer
229
Imperative
Declarative
Dynamic
Functional
What’s It All Mean?
Introducing F#
Downloading and Installing F#
Your First F# Program
Exploring F# Language Features
230
230
230
231
232
232
233
233
236
Summary 238
Part IV: Coding
Chapter 16: IntelliSense and Bookmar ks
IntelliSense Explained
General IntelliSense
Completing Words and Phrases
Parameter Information
Quick Info
IntelliSense Options
General Options
Statement Completion
C#-Specific Options
Extended IntelliSense
Code Snippets
XML Comments
Adding Your Own IntelliSense
Bookmarks and the Bookmar k Window
Summary 253
Chapter 17: Code Snippets and Refactoring
Code Snippets Re vealed
Original Code Snippets
“Real” Code Snippets
Using Snippets in Visual Basic
Using Snippets in C# and J#
Surround With Snippet
239
241
241
242
243
246
247
247
247
249
249
250
250
251
251
251
255
256
256
256
257
258
259
xix
ftoc.indd xix
6/24/08 12:21:43 AM
Contents
Code Snippets Manager
Creating Snippets
Reviewing Existing Snippets
260
261
262
Accessing Refactoring Suppor t
Refactoring Actions
264
265
Extract Method
Encapsulate Field
Extract Interface
Reorder Parameters
Remove Parameters
Rename
Promote Variable to Parameter
Generate Method Stub
Organize Usings
265
267
268
269
270
271
272
272
273
Summary 273
Chapter 18: Modeling with the Class Designer
Creating a Class Diagram
Design Surface
Toolbox
Entities
Connectors
Class Details
Properties Window
Layout
Expor ting Diagrams
Code Generation and Refactoring
Drag-and-Drop Code Generation
IntelliSense Code Generation
Refactoring with the Class Designer
PowerToys for the Class Designer
Visualization Enhancements
Functionality Enhancements
275
275
276
277
278
279
279
280
281
281
282
282
284
284
285
285
287
Summary 288
Chapter 19: Ser ver Explorer
The Ser vers Node
Event Logs
Management Classes
Management Events
289
290
290
293
295
xx
ftoc.indd xx
6/24/08 12:21:43 AM
Contents
Message Queues
Performance Counters
Services
297
299
303
Summary 304
Chapter 20: Unit T esting
Your First Test Case
Test Attributes
Test Attributes
Asser ting the Facts
305
305
310
311
312
Assert
StringAssert
CollectionAssert
ExpectedException Attribute
312
313
313
314
Initializing and Cleaning Up
315
TestInitialize and TestCleanup
ClassInitialize and ClassCleanup
AssemblyInitialize and AssemblyCleanup
Testing Context
Data
Writing Test Output
315
315
315
316
316
317
Advanced 318
Custom Properties
Testing Private Members
Managing Large Number s of T ests
Summary 322
Part V: Data
Chapter 21: DataSets and DataBinding
DataSet Over view
Adding a Data Source
DataSet Designer
Binding
BindingSource
BindingNavigator
Data Source Selections
BindingSource Chains
Saving Changes
Inserting New Items
319
320
321
323
325
325
326
328
331
332
334
336
338
343
345
xxi
ftoc.indd xxi
6/24/08 12:21:44 AM
Contents
Validation
DataGridView
Object Data Source
IDataErrorInfo
346
353
355
359
Working with Data Sources
359
Web Service Data Source
Browsing Data
360
361
Summary 363
Chapter 22: V isual Database T ools
Database Windows in V isual Studio 2008
Server Explorer
Table Editing
Relationship Editing
Views
Stored Procedures and Functions
Database Diagrams
Data Sources Window
Managing Test Data
Previewing Data
Summary 381
Chapter 23: Language Integrated Queries (LINQ)
LINQ Providers
Old-School Queries
Query Pieces
From
Select
Where
Group By
Custom Projections
Order By
Debugging and Execution
Summary 391
Chapter 24: LINQ to XML
XML Object Model
VB.NET XML Literals
Paste XML as XElement
365
365
366
368
369
370
371
373
374
379
380
383
383
384
386
386
387
388
389
389
390
390
393
393
394
395
xxii
ftoc.indd xxii
6/24/08 12:21:44 AM
Contents
Creating XML with LINQ
Expression Holes
Querying XML
Schema Suppor t
Summary 402
Chapter 25: LINQ to SQL and Entities
LINQ to SQL
Creating the Object Model
Querying with LINQ to SQL
Binding LINQ to SQL Objects
LINQ to Entities
Summary 416
397
397
398
400
403
403
404
407
411
414
Chapter 26: Synchronization Ser vices
417
Occasionally Connected Applications
417
Server Direct
Getting Started with Synchronization Services
Synchronization Services over N-Tiers
Background Synchronization
Client Changes
418
420
425
429
431
Summary 432
Part VI: Security
Chapter 27: Security in the .NET F ramework
Key Security Concepts
Code Access Security
Permission Sets
Evidence and Code Groups
Security Policy
Walkthrough of Code Access Security
Role-Based Security
User Identities
Walkthrough of Role-Based Security
433
435
435
437
438
438
439
440
442
443
444
Summary 445
xxiii
ftoc.indd xxiii
6/24/08 12:21:44 AM