Workflow .NET Framework 4 Universe System.WorkflowModel System.WorkflowServiceModel Activity 4.0

A selection of new types and namespaces WorkflowElement WorkflowServiceHost2 4.0 4.0

System.WorkflowModel.Activities System.WorkflowServiceModel.Activities

ClientOperation CompensationScope 4.0 4.0 System.Web.UI System.Web.Mvc DbQuery 4.0 ReceiveMessage 4.0 SendMessage CompositeScriptReference 3.5 SP1 ActionResult 4.0 DbUpdate 4.0 4.0 Controller 4.0 Flowchart 4.0 ServiceOperation 4.0 System.Web.DynamicData ControllerFactory 4.0 Persist 4.0 System.WorkflowServiceModel.Dispatcher DataModel 3.5 SP1 IViewEngine 4.0 Sequence 4.0 DynamicControl 3.5 SP1 WorkflowInstanceContext 4.0 ViewPage 4.0 Core Ajax StateMachine 4.0 DynamicDataManager 3.5 SP1 System.WorkflowModel.Activities.Rules System.Web.Routing Sys.Binding 4.0 System.WorkflowModel.Tracking DynamicField 3.5 SP1 System.Numerics System.Threading.Tasks 4.0 RuleSet 4.0 Sys.Observer 4.0 Route 3.5 SP1 BigInteger 4.0 TrackingProfile 4.0 System.Web.UI.DataVisualization.Charting System.Collections.Generic Sys.Data.DataSource 4.0 RouteTable 3.5 SP1 Complex 4.0 Annotation 4.0 Sys.UI.DataView 4.0 SortedSet 4.0 System.ComponentModel.DataAnnotations System.IO.MemoryMappedFiles 4.0 Axis 4.0 Sys.UI.Template 4.0 System.Runtime.Interop.Services DataTypeAttribute 3.5 SP1 Chart 4.0 Sys.UI.TemplateResult 4.0 System.ComponentModel.Composition TypeIdentifierAttribute 4.0 ChartArea 4.0 DisplayFormatAttribute 3.5 SP1 CompositionContainer 4.0 RangeAttribute 3.5 SP1 DataPoint 4.0 System.Collections.Concurrent 4.0 System.Data ExportAttribute 4.0 Legend 4.0 RegularExpressionAttribute 3.5 SP1 ImportAttribute 4.0 System.Threading Data EntityKey 3.5 SP1 RequiredAttribute 3.5 SP1 Series 4.0 IExtendedDataRecord 3.5 SP1 LazyInit UIHintAttribute 3.5 SP1 System.Linq 4.0 System.Web.UI.WebControls System.Data.Services Parallel 4.0 System.Data.Common.CommandTrees ValidationAttribute 3.5 SP1 Web ParallelEnumerable 4.0 EntityDataSource 3.5 SP1 ChangeInterceptorAttribute 3.5 SP1 SpinLock 4.0 DbCommandTree 3.5 SP1 System.Xaml DataService 3.5 SP1 DbExpression 3.5 SP1 XamlReader 4.0 DataServiceException 3.5 SP1 DbExpressionBuilder 4.0 XamlWriter 4.0 DataServiceHost 3.5 SP1 DbQueryCommandTree 3.5 SP1 XamlType 4.0 IDataServiceConfigulation 4.0 System.Data.Common Client XamlProperty 4.0 IDataServiceProvider 3.5 SP1 ISynchonizationProvider 4.0 DataServiceKeyAttribute 3.5 SP1 System.Windows.Input QueryInterceptorAttribute 3.5 SP1 DbCommandDefinition 3.5 SP1 TouchPoint 4.0 DbProviderServices 3.5 SP1 System.Windows.Interop System.Data.Services.Provider TouchPointCollection 4.0 EntitySqlParser 4.0 ActiveXHost 3.5 SP1 TouchDevice 4.0 IDataServicesProvider 3.5 SP1 Communications System.Data.Objects D3dImage 3.5 SP1 System.Windows.Controls System.Data.Services.Client System.ServiceModel CompiledQuery 3.5 SP1 System.Windows.Media.Imaging Calendar 4.0 CorrelationOperationBehavior 4.0 DataServiceContext 3.5 SP1 ObjectContext 3.5 SP1 D3dImage 3.5 SP1 DataGrid 4.0 System.ServiceModel.Syndication OperationContact 4.0 DataServiceRequest 3.5 SP1 ObjectParameter 3.5 SP1 System.Windows.Controls DatePicker 4.0 DataServiceResponse 3.5 SP1 ObjectQuery 3.5 SP1 Service.Document 3.5 SP1 Service 4.0 Ribbon 4.0 DataServiceQuery 3.5 SP1 ObjectStateManager 3.5 SP1 WebBrowser 3.5 SP1 AtomPub10ServiceDocumentFormatter 3.5 SP1 ServiceContract 4.0 RibbonWindow 4.0 System.Windows.Media.Effects System.ServiceModel.Channels System.ServiceModel.Discovery System.Data.EntityClient System.Data.Metadata.Edm System.Windows ComplexType Effect 3.5 SP1 CompensationFlowAttribute 4.0 AnnouncementClient 4.0 EntityCommand 3.5 SP1 3.5 SP1 VisualState 4.0 EdmType 3.5 SP1 PixelShader 3.5 SP1 AnnouncementService 4.0 EntityConnection 3.5 SP1 VisualStateGroup 4.0 EntityType 3.5 SP1 ShadeEffect 3.5 SP1 DiscoveryClient 4.0 EntityDataReader 3.5 SP1 VisualStateManager 4.0 EntityTransaction RelationshipType 3.5 SP1 ServiceDiscoveryBehavior 4.0 3.5 SP1

The award winning Addison-Wesley .NET Development Series provides professional developers with the most comprehensive and practical coverage of the latest .NET technologies. To discover more go to informit.com/msdotnetseries. _300_300

Microsoft Programming/ASP.NET Microsoft Programming Forewords by Miguel de Icaza Microsoft Programming/Concurrent Programming C# “If you want to be a C# developer, or if you want to enhance your Microsoft Programming Second Edition Foreword by Nikhil Kothari, Foreword by Steve Maine, Program Manager, Foreword by Craig Mundie, Chief Research and Strategy Officer , Microsoft Microsoft Programming/C# Special Annotated Edition for C# 3.0 C# programming skills, there is no more useful tool than a well-crafted and Anders Hejlsberg ASP.NET AJAX server controls can encapsulate even the most power- “When you begin using multi-threading throughout an application, “Whether this is the first time or the fifty-first time you’re using WCF, you’ll learn Software Architect, .NET Developer Platform, Microsoft Windows Communication Foundation, Microsoft Essential C# 3.0 is an extremely well-written and well-organized ful AJAX functionality, helping you build more elegant, maintainable, and the importance of clean architecture and design is critical.... book on the subject. You are holding such a book in your hands.” “An instant classic.” something new by reading this book.” “Based on my own experience, I can safely say “no-fluff” guide to C# 3.0, which will appeal to programmers at all levels scalable applications. This is the fi rst comprehensive, code-rich guide to This places an emphasis on understanding not only the platform’s Development of experience with C#. This fully updated edition dives deep into the new custom ASP.NET AJAX server controls for experienced ASP.NET devel- —Nicholas Allen, Program Manager, Web Services, Microsoft that every .NET developer who reads this will have —From the Foreword by —From the Foreword by Miguel de Icaza capabilities but also emerging best practices. Joe does a great job features that are revolutionizing programming, with brand new chapters Charlie Calvert, opers. Unlike other books on ASP.NET AJAX, this book focuses solely Series interspersing best practices alongside theory throughout his book.” Windows Communication Foundation (WCF) is the easiest way to produce and consume Web services on at least one ‘aha’ moment and will be a better covering query expressions, lambda expressions, extension methods, Community Program Manager, Visual C#, Microsoft Framework Design Guidelines, Second Edition, teaches on server control development and refl ects the signifi cant improvements the Microsoft platform. With .NET 3.5, WCF has been extensively revamped—and Visual Studio 2008 gives collection interface extensions, standard query operators, and developers the best practices for designing reusable libraries for the in ASP.NET 3.5 AJAX and the latest Visual Studio 2008 features for “Supported by the leaders and developer for it.” — From the Foreword by “Supported by the leaders and developers powerful new tools for utilizing it. Essential Windows Communication Foundation shows developers LINQ as a whole. “Supported by the leaders and AJAX Server Controls Advanced ASP.NET principal authorities of core Microsoft Craig Mundie, on Windows Concurrent Programming Microsoft .NET Framework. Expanded and updated for .NET 3.5, this Essential C# 3.0

“Supported by the leaders and Guidelines Framework Design streamlining AJAX development. principal authorities of core “Supported by the leaders and Language The C# Programming new edition focuses on the design issues that directly affect the technologies, this series has an author Chief Research and Strategy Officer, Microsoft Corporation exactly how to make the most of WCF with .NET 3.5 and Visual Studio 2008. CommunicationFoundation EssentialWindows Essential —FromWindows the Foreword by Don Box principal authorities of core principal authorities of core Microsoft technologies, this series principal authorities of core Author Mark Michaelis covers the C# language in depth, and each important programmability of a class library, specifically its publicly accessible APIs. Adam Calderon and Joel Rumerman fi rst review the core Microsoft pool that combines some of the most Microsoft technologies, this series Microsoft technologies, this series has an author pool that combines Drawing on extensive experience working with early adopters, three Microsoft technologies, this series construct is illustrated with succinct, relevant code examples. (Complete AJAX Library and JavaScript techniques needed to support a rich client- insightful authors in the industry with Author Joe Duffy has risen to the challenge of explaining how to has an author pool that combines This book can improve the work of any .NET developer producing code that has an author pool that combines some of the most insightful authors Microsoft insiders systematically address the topics developers ask The popular C# combines the high productivity has an author pool that combines code examples are available online.) Graphical “mind maps” at the beginning side experience. Next, they build upon these techniques showing how the lead software architects and write software that takes full advantage of concurrency and hardware The C# some of the most insightful authors some of the most insightful authors other developers will use. It includes copious annotations to the guidelines in the industry with the lead software about WCF. The authors approach each subject with practical advice of rapid application development languages with the raw power of C and some of the most insightful authors of each chapter show what material is covered and how each topic relates to create distributable AJAX-enabled controls that include rich browser- developers at Microsoft and the parallelism. In Concurrent Programming on Windows, he Communication in the industry with the lead software by thirty-five prominent architects and practitioners of the .NET Framework, in the industry with the lead software and present best practices, tips, and tricks for solving problems. in the industry with the lead software to the whole. Topics intended for beginners and advanced readers are independent JavaScript client-side functionality. The authors thoroughly architects and developers at Microsoft C++. Now, C# 3.0 adds functional programming techniques and LINQ, architects and developers at Microsoft providing a lively discussion of the reasons for the guidelines as well as architects and developers at Microsoft developer community at large.” explains how to design, implement, and maintain large-scale Throughout, you’ll find detailed explanations, solutions for the Language INtegrated Query. The C# Programming Language, architects and developers at Microsoft clearly marked. explain both the JavaScript and .NET aspects of control development and the developer community at large.” and the developer community at large.” examples of when to break those guidelines. and the developer community at large.” concurrent programs, primarily using C# and C++ for Windows. “pain points” of WCF development, and an extensive collection of Third Edition, is the authoritative and annotated technical reference and the developer community at large.” Frameworkand how these two distinct environments come together to provide a — Don Box Concurrent Following an introduction to C#, readers learn about — Don Box reusable code examples. Coverage includes — Don Box — Don Box foundation for building a rich user experience using ASP.NET AJAX. Advanced ASP.NET for C# 3.0. — Don Box Microsoft architects Krzysztof Cwalina and Brad Abrams teach framework Architect, Microsoft Duffy aims to give application, system, and library developers the Architect, Microsoft Foundation Programming Architect, Microsoft design from the top down. From their significant combined experience and Architect, Microsoft tools and techniques needed to write efficient, safe code for multicore Development Architect, Microsoft � Using WCF contracts to define complex structures and interfaces Written by Anders Hejlsberg, the language’s architect, and his colleagues, ■ C# primitive data types, value types, reference types, deep insight, you will learn “This is a great resource for “This is a great resource for “This is a great resource for “This is a great resource for Q Create object-oriented cross-browser JavaScript that supports processors. This is important not only for the kinds of problems � Understanding WCF’s channel stacks and channel model architecture Mads Torgersen, Scott Wiltamuth, and Peter Golde, this volume has been “This is a great resource for type conversions, and arrays professional .NET developers. professional .NET developers. professional .NET developers. .NET style classes, interfaces, inheritance, and method overloading where concurrency is inherent and easily exploitable—such as server Series completely updated and reorganized for C# 3.0. The book provides the professional .NET developers. professional .NET developers. ■ Design Guidelines � Configuring the WCF communication stack to use only the protocols ■ Operators and control flow, loops, conditional logic, and The general philosophy and fundamental principles of It covers all bases, from expert AJAX Serverapplications, compute-intensive Controls image manipulation, financial analysis, It covers all bases, from expert It covers all bases, from expert Programming For .NET Frameworkcomplete specification 3.5 of the language, along with descriptions, reference It covers all bases, from expert It covers all bases, from expert Q you need “This series is a great resource framework design Work with components, behaviors, and controls, and learn perspective to reference and perspective to reference and sequential programming simulations, and AI algorithms—but also for problems that can be Language perspective to reference and perspective to reference and � materials, code samples, and annotations from nine prominent C# gurus. perspective to reference and how they relate to DOM elements Using standard and custom service behaviors to manage concurrency, for developers using the .NET ■

how-to. Books in this series are Third Edition ■ Naming guidelines for the various parts of a framework speeded up using parallelism but require more effort—such as math how-to. Books in this series are instances, transactions, and more how-to. Books in this series are Methods, parameters, exception handling, and structured programming how-to. Books in this series are how-to. Books in this series are Conventions, Idioms,Q and Learn Sys.Application Patterns and the part it plays in object creation, Framework and Web services. Essential C# 3.0 ■ Guidelines for the design and extending of types and essential reading for those who libraries, sort routines, report generation, XML manipulation, and essential reading for those who � The many annotations—a new feature in this edition—bring a depth and essential reading for those who ■ Classes, inheritance, structures, interfaces, and object-oriented essential reading for those who essential reading for those who Second Edition Serializing data from .NET types to XML Infosets and representing initialization, and events in the Microsoft AJAX Library want to judiciously expand their For .NET Framework 3.5 want to judiciously expand their It covers all the bases from refer- breadth of understanding rarely found in any programming book. As the main members of types want to judiciously expand their stream processing algorithms. Infosets “on the wire” want to judiciously expand their programming want to judiciously expand their Q text of the book introduces the concepts of the C# language, cogent Third Edition ■ Build Extender and Script controls that provide integrated script knowledge base and expertise.” knowledge base and expertise.” on Windows � ence to ‘how-to.’ The books in this ■ knowledge base and expertise.” Issues affecting—and guidelines for ensuring—extensibility knowledge base and expertise.” Hosting WCF services via IIS, managed .NET applications, and knowledge base and expertise.” Well-formed types, operator overloading, namespaces, and for Reusable .NET Librariesgeneration for their corresponding client-side counterparts annotations explain why they are important, how they are used, how they —John Montgomery Windows Activation Services series are essential reading for garbage collection For .NET Framework 3.5 ■ How (and how not) to design exceptions — John Montgomery Concurrent Programming on Windows has four major — John Montgomery relate to other languages, and even how they evolved. —John Montgomery —John Montgomery Q Localize ASP.NET AJAX controls including client script Principal Group Program Manager, � WCF security, in depth: authentication; transport and message-level developers who want to write ■ Guidelines for—and examples of—common Principal Group Program Manager, sections: The first introduces concurrency at a high level, followed Principal Group Program Manager, Principal Group Program Manager, ■ Generics, collections, custom collections, and iterators Principal Group Program Manager, Q Developer Division, Microsoft security; and Internet and intranet scenarios Developer Division, Microsoft Discover ASP.NET AJAX client and server communication architecture by a section that focuses on the fundamental platform features, inner Developer Division, Microsoft solid managed code.” This book is the definitive, must-have reference for any developer who Developer Division, Microsoft Developer Division, Microsoft framework design patterns � Improving reliability: exception handling, diagnostics, and more ■ Delegates and lambda expressions and the new support for Windows Communication Foundation (WCF) workings, and API details. Next, there is a section that describes —John Montgomery wants to understand C#. “This foremost series on .NET “This foremost series on .NET � Workflow services: new integration points between WCF 3.5 and “This foremost series on .NET ■ Standard query operators and query expressions “This foremost series on .NET Guidelines in this book are presented in four major forms: Do, Consider, Q Understand ASP.NET AJAX Application Services common patterns, best practices, algorithms, and data structures Director, Developer Platform and Development contains vital information for contains vital information for Windows Workflow Foundation contains vital information for ■ contains vital information for Avoid, and Do not. These directives help focus attention on practices that emerge while writing concurrent software. The final section Evangelism Division, Microsoft Corporation LINQ: language integrated query Q Create custom Application Services developers who need to get the developers who need to get the � Building client-to-client, peer network-based applications Anders Hejlsberg is a programming legend. He is the architect of developers who need to get the that should always be used, those that should generally be used, those A companion DVD includes covers many of the common system-wide architectural and process ■ Reflection, attributes, and declarative programming developers who need to get the Q Design controls for a partial postback environment most out of the .NET Framework. most out of the .NET Framework. � Utilizing WCF for non-SOAP Web services: AJAX and JSON examples the C# language and a Microsoft Technical Fellow. He joined Microsoft most out of the .NET Framework. that should rarely be used, and those that should never be used. Every the Designing .NET Class concerns of concurrent programming. “This series is supported by the Series most out of the .NET Framework. Our authors are selected from and .NET 3.5 hosting classes Corporation in 1996, following a thirteen-year career at , where Our authors are selected from the ■ Threading, synchronization, and multithreaded patterns guideline includes a discussion of its applicability, and most include Libraries video series, instructional Q Understand the AJAX Control Toolkit architecture and the many Our authors are selected from the leaders and principal authorities Our authors are selected from the a code example to help illuminate the dialogue. presentations by the authors on features it provides the key innovators who create This is the only book you’ll need in order to learn the best practices key innovators who create the he was the chief architect of and . key innovators who create the ■ Interoperability and unsafe code key innovators who create the the technology and are the most Microsoft’s Steve Resnick, Richard Crane, and Chris Bowen are technology of the Microsoft .NET Framework technology and are the most design guidelines for developing classes Q Develop highly interactive controls using the AJAX Control Toolkit and common patterns for programming with concurrency on technology and are the most Mads Torgersen is the Program Manager for the C# Language at ■ The Common Language Infrastructure that underlies C# technology and are the most Framework Design Guidelines, Second Edition, is the only experts at the Microsoft Technology Center in Boston. They specialize in and its languages. It has an and components that extend the .NET respected practitioners of it.” Windows and .NET. respected practitioners of it.” Microsoft and runs the C# design meetings. Prior to joining Microsoft in respected practitioners of it.” respected practitioners of it.” definitive source of best practices for managed code API development, Q Understand AJAX Control Toolkit architecture and build helping customers improve their technical agility by applying WCF and related

Framework. A sample API specification Cwalina author pool that combines some Abrams 2005, he was an associate professor at the University of Aarhus, doing —Brad Abrams direct from the architects themselves. and other useful resources and tools are controls that utilize the toolkit —Brad Abrams — Brad Abrams technologies. Resnick has specialized in Internet technologies and distributed Whether you are just starting out as a programmer, are an experienced —Brad Abrams of the most insightful authors in programming language research. Group Program Manager, Microsoft also included. Group Program Manager, Microsoft Joe Duffy is the development lead, architect, and founder of Group Program Manager, Microsoft computing at Microsoft since 1995. He is a frequent speaker at Microsoft developer looking to learn C#, or are a seasoned C# programmer interested Group Program Manager, Microsoft Rumerman the industry with the software Calderon events and is now technology director for the U.S. Microsoft Technolog y C e n t e r s . Wiltamuth in learning the new features of C# 3.0, Essential C# 3.0 gives you just Krzysztof Cwalina is a Principal Program Manager in the .NET Torgersen Michaelis the Parallel Extensions to the .NET Framework team at Microsoft. Scott Wiltamuth is Partner Program Manager for Visual Studio. While Hejlsberg architects and developers Resnick Application Frameworks Core group at Microsoft. He was responsible for Crane has more than 15 years of experience in senior software development Bowen what you need to quickly get up and running writing C# applications.

In addition to hacking code and managing a team of developers, Crane at Microsoft, he has worked on a wide range of developer-oriented projects,

Adam Calderon is the Application Development Practice Lead at InterKnowlogy and a Microsoft MVP. He has been Golde the design of a large part of the Framework APIs, and for the development roles. He specializes in large-scale Web sites, distributed computing, at Microsoft.” involved with ASP.NET AJAX since the Alpha release, participated in the ATLAS First Access program, and is a member of he works on long-term vision and incubation efforts, such as language including Visual Basic, VBScript, JScript, Visual J++, and Visual C#. of the .NET Framework Design Guidelines. and type system support for concurrency safety. He previously Duffy transactional systems, and performance analysis. Bowen has been an —Don Box Mark Michaelis is a software architect and trainer at Itron and IDesign the Microsoft UI Server Frameworks Advisory Council where he contributes to the future direction of the ASP.NET platform. architect and developer for more than 15 years at companies such as Before leaving Microsoft, Peter Golde was the lead developer of Brad Abrams is the Product Unit Manager of the Application Adam is also heavily involved in the development community; he has taught classes at UCSD and has spoken at TechEd, worked on the Common Language Runtime team. Joe blogs Architect, Microsoft Corporation and is the founder of intelliTechture. He is a Microsoft Regional Director Monster.com and Staples and is co-author of Professional Visual Studio the C# compiler. and serves on several Microsoft software design review teams, including Framework team at Microsoft. He was the primary author of the .NET user groups, and Code Camps throughout southern California. Joel Rumerman, Senior .NET Developer at The CoStar regularly at www.bluebytesoftware.com/blog. 2005 Team System. IDesign Framework Design Guidelines, the Common Language Specification, Group, develops line-of-business applications that rely heavily on ASP.NET AJAX. He’s an expert with JavaScript and an C#. Mark holds a B.A. in philosophy from the University of Illinois and an and the class libraries for the ECMA CLI specification. ASP.NET programmer who has been involved with ASP.NET AJAX since it was codenamed Atlas. Joel is currently working on M.S. in computer science from the Illinois Institute of Technology. a large scale Virtual Earth mash-up that plots commercial real estate information. Steve Resnick Anders Hejlsberg ISBN-13: 978-0-321-44006-8 informit.com/msdotnetseries ISBN-13: 978-0-321-56299-9 informit.com/msdotnetseries informit.com/msdotnetseries ISBN-13: 978-0-321-54561-9 ISBN-13: 978-0-321-51444-8 Includes ISBN-10: 0-321-56299-2 informit.com/msdotnetseries ISBN-13: 978-0-321-43482-1 www.informit.com/msdotnetseries ISBN-10: 0-321-44006-4 Mads Torgersen ISBN-13: 978-0-321-53392-0 ISBN-10: 0-321-54561-3 Includes ISBN-10: 0-321-51444-0 informit.com/msdotnetseriesAdam Calderon FREE 45-Day mark.michaelis.net/EssentialCSharp Free 45-Day ISBN-10: 0-321-43482-X 54999 Cover photograph by iStockPhoto.com 54499 ISBN-10: 0-321-53392-5 Cover photograph by Getty Images, Inc. 54999 5 4 9 9 9 Cover photograph by PhotoLink/Getty Images, Inc. Online Edition Richard Crane Cover photograph by Douglas Peebles/CORBIS 54999 54999 Krzysztof Cwalina Online Edition Cover photograph by iStockPhoto.com Text printed on recycled paper Cover photographScott by iStockPhoto.com Wiltamuth Text printed on recycled paper Joel Rumerman Joe Duffy Text printed on recycled paper Text printed on recycled paper Text printed on recycled paper 9 780321562999 Text printed on recycled paper 9 780321545619 9 780321 514448 9780321440068 Peter Golde 9 780321434821 9 780321533920 Mark Michaelis Brad Abrams $49.99 U.S./$54.99 CANADA Chris Bowen $44.99 U.S. | $48.99 CANADA $49.99 U.S. | $54.99 CANADA $49.99 U.S. | $54.99 CANADA $49.99 U.S. | $54.99 CANADA $49.99 U.S. | $54.99 CANADA 0321545613 0321514440 032143482X 0321440064 0321562992 0321533925 0321577841 0321604741 0321562313 .NET 4 Poster Compliments of the .NET Development Team and Visit Safaribooksonline.com for early access to Rough Cuts of forthcoming .NET titles.