www.it-ebooks.info www.it-ebooks.info ffirs.indd 30-01-2014 20:54:07 Professional C# 5.0 and NET 4.5.1 Current Author Team Christian Nagel Jay Glynn Morgan Skinner Authors On Previous Editions Bill Evjen Karli Watson www.it-ebooks.info ffirs.indd 30-01-2014 20:54:07 Professional C# 5.0 and NET 4.5.1 Published by John Wiley & Sons, Inc 10475 Crosspoint Boulevard Indianapolis, IN 46256 www.wiley.com Copyright © 2014 by John Wiley & Sons, Inc., Indianapolis, Indiana Published simultaneously in Canada 978-1-118-83303-2 978-1-118-83294-3 (ebk) 978-1-118-83298-1 (ebk) Manufactured in the United States of America 10 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 Permissions Department, John Wiley & Sons, Inc., 111 River Street, Hoboken, NJ 07030, (201) 748-6011, fax (201) 748-6008, or online at http://www.wiley.com/go/permissions 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 Web site 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 Web site may provide or recommendations it may make Further, readers should be aware that Internet Web sites 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 (877) 762-2974, outside the United States at (317) 572-3993 or fax (317) 572-4002 Wiley publishes in a variety of print and electronic formats and by print-on-demand Some material included with standard print versions of this book may not be included in e-books or in print-on-demand If this book refers to media such as a CD or DVD that is not included in the version you purchased, you may download this material at http://booksupport.wiley.com For more information about Wiley products, visit www.wiley.com Library of Congress Control Number: 2013958290 Trademarks: Wiley, the Wiley logo, Wrox, the Wrox logo, 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 All other trademarks are the property of their respective owners John Wiley & Sons, Inc., is not associated with any product or vendor mentioned in this book www.it-ebooks.info ffirs.indd 30-01-2014 20:54:07 To my family – Angela, Stephanie, and Matthias – I love you all! —Christian Nagel This work is dedicated to my wife and son They are my world —Jay Glynn Love is as strong as death; Many waters cannot quench love, Neither can the floods drown it —Morgan Skinner www.it-ebooks.info ffirs.indd 30-01-2014 20:54:07 Credits Acquisitions Editor Business Manager Mary James Amy Knies Project Editor Vice President and Executive Group Publisher Charlotte Kughen Richard Swadley Technical Editors Don Reamey George Evjen Associate Publisher Production Editor Project Coordinator, Cover Christine Mugnolo Katie Crocker Editorial Manager Proofreader Mary Beth Wakefield Sarah Kaikini, Word One, New York Freelancer Editorial Manager Indexer Rosemarie Graham Johnna VanHoose Dinse Associate Director of Marketing Cover Designer David Mayhew Wiley Marketing Manager Cover Image Ashley Zurcher © Henrik5000/istockphoto.com Jim Minatel www.it-ebooks.info ffirs.indd 30-01-2014 20:54:07 About the Authors Christian Nagel is a Microsoft Regional Director and Microsoft MVP, an associate of thinktecture, and founder of CN innovation A software architect and developer, he offers training and consulting on how to develop solutions using the Microsoft platform He draws on more than 25 years of software development experience Christian started his computing career with PDP 11 and VAX/VMS systems, covering a variety of languages and platforms Since 2000, when NET was just a technology preview, he has been working with various NET technologies to build NET solutions Currently, he mainly coaches the development of Windows Store apps accessing Windows Azure services With his profound knowledge of Microsoft technologies, he has written numerous books, and is certified as a Microsoft Certified Trainer (MCT) and Solutions Developer (MCSD) Christian speaks at international conferences such as TechEd, Basta!, and TechDays, and he founded INETA Europe to support NET user groups You can contact Christian via his website www.cninnovation.com, read his blog at blogs.thinktecture.com/cnagel, and follow his tweets at @christiannagel Jay Glynn started writing software more than 20 years ago, writing applications for the PICK operating system using PICK basic Since then, he has created software using Paradox PAL and Object PAL, Delphi, VBA, Visual Basic, C, Java, and of course C# He currently works for VGT as a software engineer writing server-based software Morgan Skinner began his computing career at a young age on the Sinclair ZX80 at school, where he was underwhelmed by some code a teacher had written and so began programming in assembly language Since then he has used a wide variety of languages and platforms, including VAX Macro Assembler, Pascal, Modula2, Smalltalk, X86 assembly language, PowerBuilder, C/C++, VB, and currently C# He’s been programming in NET since the PDC release in 2000, and liked it so much he joined Microsoft in 2001 He’s now an independent consultant www.it-ebooks.info ffirs.indd 30-01-2014 20:54:07 About the TECHNICAL Editors Don Reamey is an architect/principal engineer for TIBCO Software working on TIBCO Spotfire business intelligence analytics software Prior to TIBCO Don spent 12 years with Microsoft as a software development engineer working on SharePoint, SharePoint Online and InfoPath Forms Service Don has also spent 10 years writing software in the financial service industry for capital markets George Evjen is the director of development for ArchitectNow, a St Louis-based consulting company specializing in custom client application architecture, design, and development, with clients ranging from small technology start-ups to global enterprises Prior to his involvement in the software industry, George spent more than a dozen years coaching men’s basketball at all levels of the collegiate ranks As a motivational leader with an infectious positive outlook in nearly all situations, he is the ideal person to take the lead directly for many of ArchitectNow’s largest projects and clients Not only does he work as a lead developer, but he also manages most of the coordination between ArchitectNow and the company’s external contractors and resources George has extensive experience and expertise in all of Microsoft’s web-based and XAML-based technologies, as well as the newest web frameworks available His specialties include enterprise-level WPF, Silverlight, and Windows projects, as well as ASP.NET MVC business application development He speaks anagement, to groups and at conferences around the region on topics of motivational leadership, project m and organization You can find additional information on George and ArchitectNow’s capabilities at http://www.architectnow.net www.it-ebooks.info ffirs.indd 30-01-2014 20:54:07 Acknowledgments I would like to thank Charlotte Kughen for making this text more readable; Mary James; and Jim Minatel; and everyone else at Wiley who helped to get another edition of this great book published I would also like to thank my wife and children for supporting my writing You’re my inspiration — Christian Nagel I want to thank my wife and son for putting up with the time and frustrations of working on a project like this I also want to thank all the dedicated people at Wiley for getting this book out the door — Jay Glynn www.it-ebooks.info ffirs.indd 30-01-2014 20:54:07 www.it-ebooks.info ffirs.indd 30-01-2014 20:54:07 Session_End – Source callbacks, 1242 identifiers, 1239–1240 storage, 1240–1241 Session_End, 122 SessionMode, 1356 SessionMode.Required, 1360 Session_Start, 122 SessionStateProviderBase, 1241 Set, 264 set, 73–74, 379, 854 set operations, LINQ, 299–300 SetAccessControl, 623, 698, 702 SetAll, 264 SetBinding, 1112 SetCookie, 1237 SetDateAndNumber, 824 SetDefault, 947 SetError, 1135 SetHandled, 522 SetLastError, 661 SetMyProperty, 859 SetNull, 947 SetPrincipalPolicy, 607 setPromise, 900 sets collections, 259–260 NET Framework, 260 Setters, 1078 Settings, 782 settings, 419 SettingsCommand, 913 SettingsPane, 913 SettingsPaneCommandsRequest EventArgs, 913 SetupCulture, 811 SetupPipeline, 597 SetValue(), 134, 135, 702, 734 XAML, 853, 854 Shape, 1055–1056 shared assemblies, 15, 490, 501–507 creating, 505 GAC, 504–505, 509 installation, 506 strong names, 503–506 shared classes, ADO.NET, 921 , 532 SharedSizeGroup, 1147 SharedState, 579, 582 ShareOperation, 1210 ShareTargetActivatedEventArgs, 1210 ShareTargetPage, 1210 Sharing Target, 1210–1212 ShimXElement, 460 SHORT, 634 short, 33, 158, 159 ShowMessage, 608 side-by-side assemblies, 490 WF workflows, 1428 sideloading, 482, 483–484 SignalAndWait, 594 signature DSA, 616 ECDSA, 616 encryption, 616–618 SILVERLIGHT, 517 simple controls, 1063–1064 Simple Object Access Protocol (SOAP) HTTP GET, 1382 strong data typing, 1358 WCF, 20, 463, 1339 XML, 997 SimpleException, 396 SineEase, 1092 Singleline, 223 single-threaded apartment (STA), 65, 635, 646–647 sink objects, 658–659 site map, ASP.NET Web Forms, 1267 SiteMapDataSource, 1262 siteMapNode, 1267 SiteMapPath, 1262, 1268 SiteMapProvider, 1268 sizeof, 152, 155–156, 363 sizeof is typeof as, 152 SkewTransform, 1059 Skip, 301–302, 982 $skip, 1389 SkipVerification permission set, 626 Slider, 1064, 1111–1112 sln, 425 SmallImageSource, 1106 SmallLogo, 482 SmtpClient, 756, 760–761 Snapshot, 730 SOAP See Simple Object Access Protocol Socket, 759, 764–767 SolicitColdCall, 402–403 SolidColorBrush, 851, 1058 Solution Explorer, 425–431 Add as Link, 518 data types, 429 hidden files, 426 members, 429 projects, 424–428 scope, 429 solutions, 426–428 Visual Studio, 424–429 Web.config, 480 XLIFF, 843 SomeData, 1133 SomeDataWithNotifications, 1137 SomeProperty, 410 Sort Array, 139 ComparisonT, 240 IComparable, 239 IComparer, 817 lambda expressions, 240 ListT, 239 sort arrays, 136–139 ASP.NET Web Forms, 1259 culture, 816–817 dictionaries, 258–259 LINQ, 291–292 lists, 239–240 collections, 251–253 foreach, 252 iteration, 252 string, 252 localization, 816–817 strings, Add, 252 SortedDictionaryTKey, TValue, 260, 277 SortedList, 260 SortedListTKey, TValue, 251–253, 260, 277 SortedSetT, 260, 277 Source, 542 Binding, 1113, 1118 OnOuterButtonClick, 857 RoutedEventArgs, 856 1515 www.it-ebooks.info bindex.indd 1515 30-01-2014 19:49:35 Source – string Source (continued) System.Exception, 399 WPF data binding, 1112 source code assemblies, 517–518 debugging, 437–438 IL, XML serialization, 1033–1036 SourceExists(), 543 SourceFilter, 533 SourceLevels, 530 SourceSwitch, 530–531 Span, 1158 specialization, generics, 117–118 methods, 127–128 specific cultures, 807 SpecularMaterial, 1099 Speed, 882 SpeedExport, 882 SpeedRatio, 1091 SpinLock, 586 SplineDoubleKeyFrame, 1095 Split, 211 sprintf, 680 SQLClientPermission, 625 SqlCommand, 838, 952 SqlConnection, 723, 919 SqlDataAdapter, 953–957 SqlDataSource, 1256 SqlException, 926 SqlMembershipProvider, 610 SqlRoleProvider, 1234 SqlTransaction, 714 SSDL See Storage Schema Definition Language STA See single-threaded apartment stackalloc, 369–372 StackOverflowException, 393 StackPanel Button, 1127 Button.Click, 856 Label, 1111–1112 ListBox, 1108 MyGradientBrush, 1075 Slider, 1111–1112 WCF Data Services, 1391 WPF, 1068–1069 stacks, 32 arrays, 369–372 collections, 245–247 pointers, 349 Push, 245 value types, 108 virtual memory, 348 StackT, 245–246, 277 StackTrace, 399 star sizing, 1070 Start, 574, 780, 800 Enabled, 598 ProcessDocuments, 244 Task, 561 Start(), 16 Start Page, 419–420 Start Page, Visual Studio, 419–420 StartActivity, 534 StartActivityA, 535 StartListening, 205 StartNew, 244, 562 StartPipeline, 271 StartSendingMessage, 1366 StartType, 791 State, 1372 state management, ASP.NET, 1236–1247 state transitions, 1095 VisualStateManager, 1097–1098 statements, 25, 25 block, 925–926 conditional flow control, 37–40 if, 37–38 switch, 38–40 jump, 43 variables, 27 StateObject, 574 STAThread, 646 static, 26, 67, 385 classes, 85 MainClass, 383 static constructors, 76–77 static documents, 1042–1043 static members, 118 StaticClass, 315, 316 StaticPartitionerForArrayT , 306 StaticResource, 1075–1076 StaticResourceExtension, 861 Status, 795, 864 StatusBar, 1067 StatusBarItem, 1064 Stop, 598, 752, 780, 800 StopListening, 205 storage ASP.NET Session, 1240–1241 isolated, 704–707 Windows Store applications, 1195–1203 Storage Schema Definition Language (SSDL), 966, 965 stored procedures ADO.NET, 931–933 SELECT, 954 SqlDataAdapter, 954 StoredProcedures, 928 StoreState, 1199 Storyboard, 1089, 1092 Storyboard.BeginStoryboard, 1092 StreamGeometry, 1058 StreamGeometryContext, 1058 StreamReader, 405, 681, 687–689 MemoryStream, 1021 ReadLine, 407 WebClient, 739 streams, 393, 677 buffered, 682 files, 680–686 hierarchies, 680–681 I/O, 680 NET Framework, Windows Store applications, 1198 reading, 680 System.IO, 680–681 WinRT, 903–904 writing, 680 StreamWriter, 681, 689–692 Strikethrough, 1160 String BSTR, 651 immutable data type, 211 TextBox, 754 Type, 1458 WinRT, 901 XAML, 852 string, 36–37, 770 1516 www.it-ebooks.info bindex.indd 1516 30-01-2014 19:49:35 e StringArrayConverter – System.Data.Services.Client CompareTo, 239 delegates, 199 LinkedListT, 113 LINQ, 285 OfType, 290 sorted lists, 252 TransformBlock, 597 StringArrayConverter, 1125–1126 StringBuilder, 212–215, 498, 686 OutputText, 383 XmlWriter, 1005 StringBuilder.Replace(), 214 StringCollection, 693 StringFormat, 1140 String.Format(), 217 StringLength, 1327, 1329 StringReader, 680 String.Replace(), 214 strings, 209–228 building, 211–214 concatenation operators, 152 connections, 923–924, 971–970 escape sequence, 36 formatting, 215–220 literals, 36–37 sort, Add, 252 WinRT, 901 StringWriter, 498 strong data typing ASP.NET MVC views, 1306–1307 ASPX page model postbacks, 1258 HTML helpers, 1321 IL, 8–13 application domains, 12 language interoperability, 9–10 resource files, 820 SOAP, 1358 XmlReader, 1003 strong names, 15, 503 creating, 505 shared assemblies, 503–504 struct, 586 StructLayout, 374 structs classes, 66, 80–85 constructors, 82 data types, 66 generics, 122–124 inheritance, 82, 90 instance, equality, 162–163 memory, 66, 81 new, 66 pointers, 364 System.Enum, 44 System.ValueType, 90 value types, 81–82, 108 variables, 27 WinRT, 902 StructuralObject, 972 structure scope, 348 Studio, 1415 Style, 1072–1073 Sub, 634, 648 SubCultures, 811 SubKeyCount, 702 SubmitData, 1314 Subset(), 144 Substring, 211 Subtract, 867, 880 Sum, 302–303 , 53 SumOfSegments, 140 supporting windows, 416 supporting windows, VisualStudio, 416 SupportsWhatsNewAttribute, 378 SupportWhatsNew, 387 Suppress, 724 Suspend, 780 SuspendingDeferral, 910 SuspendingOperation, 910 SuspensionManager, 910–911 Svcutil.exe See ServiceModel Metadata Utility tool synchronization context, asynchronous programming, 339–340 threads, 579–597 Barrier, 593–594 events, 590–592 Interlocked, 584–585 lock, 579–584 Monitor, 585–586 Mutex, 587–588 ReaderWriterLockSlim, 593–594 Semaphore, 588–589 SpinLock, 586 WaitHandle, 586–583 synchronizing, 1431 synchronous call, 333 synchronous tasks, 563 Sys.Services.AuthenticationService, 1281 Sys.Services.RoleService, 1281 System, 26, 217, 393, 449 system access control list (SACL), 621 system queues, 1452 System.Activities, 1408 System.Activities DurableInstancing, 1424 System.Activities presentation, 1418 System.Activities statements, 848 System.Array, 17 System.Attribute, 375 System.AttributeUsage, 375–376 System.Collections, 230, 816 system.Collections.ArrayList, 108 System.Collections.Concurrent, 230, 268–276 System.Collections.Generic, 230, 242, 816 System.Collections.ObjectModel, 1127 System.Collections.Specialized, 693 SystemColors, 1074 System.ComponentModel DataAnnotations, 1300 System.Console, 25, 26 System.Convert, 176, 397 System.Data, 966 System.Data.Core.Common, 966 System.Data.Core.Common CommandTrees, 967 System.Data.Entity, 967 System.Data.EntityClient, 967 System.Data.Entity.Core EntityClient, 967 System.Data.Entity.Design, 967 System.Data.Objects, 967 System.Data.Objects.DataClasses, 967 System.Data.Services, 1380 System.Data.Services.Client, 1391 1517 www.it-ebooks.info bindex.indd 1517 30-01-2014 19:49:35 System.DateTime – task-based asynchronous pattern (TAP) System.DateTime, 215 System.Deployment, 478 , 530 System.Diagnostics.Contracts, 522 System.Diagnostics.SourceSwitch, 530 System.Double, 383 System.Dynamic, 314 System.EnterpriseServices, 715–716 System.Enum, 44, 86 System.Exception, 393, 397, 399–400 SystemFonts, 1074 System.FormatException, 406 System.GC.Collect, 352 System.Globalization, 806–818, 841 System.IDisposable, 354–355 System.IndexOutOfRangeException, 398 System.Int32, 136 System.IO, 393, 680–681, 1001 System.IO.FileNotFoundException, 500 System.IO.FileStream, 739 System.IO.MemoryStream, 680 System.Linq, 305 System.MarshalByRefObject, 666 System.Messaging, 1440 System.Net, 738, 1385 System.Net.PeerToPeer, 1425, 1431, 1433, 1434, 1439 System.Net.Sockets, 742 System.Net.Sockets.NetworkStream, 680 System.Object 82, 85–86, 103–104 classes, 90 Equals, 255 Equals(), 162 object, 91 System.Exception, 393 ToString(), 217 SystemParameters, 1074 System.Reflection, 386, 495–496 System.Reflection AmbiguousMatchException, 386 System.Reflection.Assembly, 820 System.Reflection.MethodInfo, 382 System.Resources, 823 System.Resource.Tools, 823 System.Runtime.CompilerServices, 314, 410 System.Runtime.Serialization, 666 System.Runtime.WindowsRuntime, 904 System.Security.Claims, 602 System.Security.Cryptography, 615 System.Security.Permissions, 626 System.Security.Principal, 602 System.ServiceModel.Web, 1369 System.String, 136, 210–221, 255, 1458 System.Text.RegularExpressions, 221 System.Text.StringBuilder, 221 System.Threading, 597–598, 816 System.Threading.Tasks, 561 System.Timers, 597–598 System.Transactions, 716–721 System.Type, 380–382 System.ValueType, 82, 90, 163 system.web, 1232 System.Web ApplicationServices, 610 System.Web.Extensions.Design.dll, 1284 System.Web.Extensions.dll, 1284 System.Web.Security, 610, 1234 System.Web.UI, 597–598 System.Windows, 205, 1050 System.Windows.Annotations, 1052 System.Windows.Automation, 1052 System.Windows.BamI2006, 1052 System.Windows.Controls, 848, 1050, 1105 system.windows.controls ribbon, 1107 System.Windows.Converters, 1053 System.Windows.Data, 1053 System.Windows.Documents, 1053, 1153 System.Windows.Forms, 383, 597–598 System.Windows.Ink, 1053 System.Windows.Input, 1053 System.Windows.Markup, 848, 1051 System.Windows.Media, 1053 System.Windows.Navigation, 1053 System.Windows.Resources, 1053 System.Windows.Shapes, 1053 System.Windows.Threading, 597–598, 1051 System.Windows.Xps, 1053 System.Workflow, 1408 System.Xaml, 848 System.Xml, 997, 998–1011, 1013, 1024–1025 System.Xml.Linq, 460, 1036 System.Xml.Serialization, 1027–1036 System.Xml.XPath, 1011–1015 System.Xml.Xsl, 1015–1020 T \t, 35 tab items, WPF data binding, adding dynamically, 1128–1129 TabControl, 1067, 1128 TabItem, 891 HeaderedContentControl, 1066 UIControlInfo, 1128 Table, 1162–1163 table per type (TPT), 975–976 TableCell, 1162 TableColumn, 1162 TableDirect, 928 TableRow, 1162 Take, 301–302 TAP See task-based asynchronous pattern TargetObject, 1411 TargetProperty, 861 TargetSite, 399 TargetType, 1411 Task, 16, 339, 341 Action, 562 Action, 562 ADO.NET, 936–938 RaceCondition, 575 RunSynchronously, 563 Start, 561 WhenAll, 340 Task Parallel Library (TPL), 16, 564 Data Flow, threads, 598–598 task-based asynchronous pattern (TAP), 325, 326, 336–338 1518 www.it-ebooks.info bindex.indd 1518 30-01-2014 19:49:36 g TaskCanceledException – throwing exceptions TaskCanceledException, 568 TaskContinuationOptions, 565 TaskCreationOptionDetachedParent, 566 TaskCreationOptions.LongRunning, 564 Task.Delay, 554 TaskFactory, 244, 561, 562, 565 TaskMain, 589 TaskMethod, 562, 563, 726 Task.Run, 337 tasks asynchronous programming, 338, 339 cancellation, 562–565 continuation, 565 delegates, 184 future results from, 564–565 hierarchies, 565–562 parallelism, 556–557 starting, 557–560 synchronous, 563 thread pools, 562–559 threads, 556–608 Taskstring, 336, 340, 341 TaskTResult, 564 TaskWithResult, 564 /t:checkuid, 836 TCP See Transmission Control Protocol TcpClient, 759, 761–764 TCP/IP, 1428 TcpListener, 759, 761–763, 779, 788 TcpReceive, 761–764, 779 TcpSend, 761–764 Template Editor, ASP.NET, 1278 TemplateField, 1278 templates, ASP.NET, ASP.NET ASP.NET MVC, 1322 Web Forms, 1278 C++, 108 HTML helpers, 1322–1323 ListBox, 1121 projects, 422–424 tuples, 147 WCF, 424 WF, 424 WPF, 1080–1089 Test Client, WCF, 1347–1348 /t:exe, 49 Text, 799, 823, 926, 1107, 1400–1401 text editor, 416 text editor, Visual Studio, 416 Text Explorer, 454 text files reading, 686–694 writing, 686–694 TextBlock, 497, 1385 Background, 861 CultureData, 813 CultureInfo, 812 DataTemplate, 1131 GetHeaderContent, 1169 Inline, 1169 ItemTemplate, 1128 Text, 799 WCF Data Services, 1391 TextBox, 497, 499, 613, 1062, 1385 ASP.NET Web Forms, 1236 DropDownList, 1278 EditItemTemplate, 1278 Enabled, 16 ErrorMessage, 1269 String, 754 TextWrapping, 1126 WebBrowser, 748, 754 XAML, 328 x:Uid, 843 TextDecoration, 1160 TextEffect, 1157–1158 TextElement AnchoredBlock, 1163–1164 Block, 1160–1161 fonts, 1156–1157 Inline, 1158–1159 List, 1161 Table, 1162–1163 TextEffect, 1157–1158 WPF documents, 1156–1164 TextElementEnumator, 806 TextEmail, 1269 TextMarkerStyle, 1161 TextWrapping, 1126 TextWriter, 1005 TextWriterTraceListener, 531 this, 31, 75, 78 Thread, 552, 566–570 IsBackground, 572–573 ParameterizedThread, 646 Priority, 573–574 Start, 567, 574 Start(), 16 ThreadApartmentState, 646 ThreadAbortException, 574 Thread.Delay, 554 Thread.Join, 574 ThreadMain, 572 ThreadPool, 556, 573 ThreadPool.QueueUserWorkItem, 569 Thread.ResetAbort, 574 threads background, 568–573 controlling, 574 deadlocks, 577–578 delegates, 184 interop, 635–636, 646–647 lock, 576 multithreading, 443–444, 726–729 passing data, 571–572 pools, 562–563, 569–570 priority, 573–574 QueueT, 243 race conditions, 574–577 scheduling, 573–574 synchronization, 579–597 Barrier, 593–594 events, 590–592 Interlocked, 584–585 lock, 579–584 Monitor, 585–586 Mutex, 587–588 ReaderWriterLockSlim, 594–597 Semaphore, 588–589 SpinLock, 586 WaitHandle, 586–587 tasks, 556–608 Timer, 597–598 TPL Data Flow, 598–598 Windows Services, 788 Thread.Sleep, 554, 574 ThreadStart, 570 ThrowAfter, 342–343 ThrowIfCancellationRequested, 345–346, 568 throwing exceptions, 394 user-defined, 405–407 1519 www.it-ebooks.info bindex.indd 1519 30-01-2014 19:49:36 time quantum – txtBoxHostName time quantum, 573–574 TimeAction, 598 TimeLine, 1089–1092 Timer, 597–598, 1249 TimeSpan, 1242 TInput, 241 tlbexp, 651–653 /t:library, 49 _tmain, 656 /t:module, 49 ToArray, 285 toExclusive, 522 ToList, 285 TollboxItemWrapper, 1430 ToLongDateString, 810 ToLongTimeString, 810 ToLookup, 259, 304 ToLower, 211 ToolBar, 750, 1065 ToolboxControl, 1430 ToolTip, 1064 Top, 982 $top, 1389 topContent, 1263 ToSelectListItems, 1320 ToShortDateString, 810 ToShortTimeString, 810 ToString, 186, 266, 809, 850, 1030 ToString(), 36, 85, 86–87, 103–104, 131, 215, 217, 218 ToUpper, 211 TOutput, 241 TPL See Task Parallel Library TPT See table per type Trace.Assert, 574 TraceEventType, 530, 534–535 TraceFilter, 533–535 TraceListener, 528–531 TraceOptions, 532 traceOutputOptions, 532, 534 TraceSource, 529–530 TraceSwitch, 530–531 tracing, diagnostics, 528–540 trackers, 1427 TransactedFile, 739, 740 [Transaction], 715 transactional messages, 1451 transactional queues, 1471–1472 transactional resources, 732–737 Transactionalt, 732–737 TransactionAutoComplete, 1359, 1362 TransactionComplete, 1359 TransactionCompleted, 716, 723 Transaction.Current, 728 TransactionInformation, 716 TransactionIsolationLevel, 1359 transactions, 705–740 ACID, 711 ADO.NET, 714–715, 924–925 ambient, 722–729, 740 committable, 717–719 database classes, 712–713 dependent, 721–729 entity classes, 712–713 file system, 737–740 isolation level, 729–731 phases, 711 promotion, 719–721 resource managers, 731–737 System EnterpriseServices, 715–716 System.Transactions, 716–721 valid state, 711 writing, 710 TransactionScope, 723–726, 740 TransactionScopeOption, 724–726 TransactionScopeRequired, 1362 TransferContentAsync, 275 transformation, WPF, 1058–1060 TransformBlock, 597 TransformGroup, 1059 Transmission Control Protocol (TCP), 463, 742, 761–763 transparent code, 623 Tree, 1262 TreeView, 1104 ADO.NET Entity Framework, 1139 CultureData, 811 HierarchicalDataTemplate, 1131, 1139, 1140 ItemsControl, 1067, 1140 SelectedItemChanged, 813 WPF business applications, 1139–1143 XAML, 1140 TreeViewItem, 1067 TRest, 146 TriangleIndices, 1099 Triggers, 1292 triggers Message Queuing, 1450 WPF, 1077–1080 Trim, 211 TrimExcess, 242 Truncate, 682 try, IndexOutOfRange break, 397 ColdCallFileReader, 404 Exception, 398 exceptions, 394 nested, 400–402 ProcessNextPerson, 406 while, 397 try/catch, 43, 342, 343, 355 try catch finally, 924–925 TryEnter, 585 TryEnterUpgradableReadLock, 594 try/finally, 392, 405 TryFindResource, 835 TryGetMember, 322 TryGetObjectByKey(), 974 TryGetValue, 253, 258, 274 TrySetMember, 322 TryTake, 268–269 TryUpdate, 274 TryUpdateModel, 1300 Tunnel, 858 tunneling events, 856–858 Tuple, 146, 564, 148 tuples, 146–147 arrays, 147–149 Divide(), 146 NET Framework, 146 templates, 147 /t:winexe, 49 Twist, Josh, 1429 two-way binding, 1110 txtBoxHostName, 758 1520 www.it-ebooks.info bindex.indd 1520 30-01-2014 19:49:36 txtBoxInput – ValidationRule txtBoxInput, 758 Type, 380–382 Boolean, 381 CreateInstance(), 134 GetCustomAttributes, 385–386 Main, 384 properties, 381–382 String, 1458 Type.GeTTypeFromProgID, 646 Vector, 382 type conversions, 158–161 type information operator, 152 type library ID (typelib ID), 635 type safety, 157–162 TypeCatalog, 893 TypeConverter, 851 Type.GetMethods, 388 Type.GetTypeFromProgID, 646 TypeName, 1244, 1253 typeof, 45, 156, 381 , 53 , 53 TypeView, 383–384 U /u, 509 UDP See User Datagram Protocol UdpClient, 759, 763–764 UIControlInfo, 1128 , 834 UIElement, 1054, 1157, 1172 UIHint, 1323 uint, 33, 158, 159, 174, 362 UIPermission, 625 ulong, 33, 159, 362 UltimateResourceFallbackLocation, 819 UnauthenticatedPrincipal, 607 unboxing, 108–109, 161–162, 177–178 Unchanged, 942 unchecked, 152, 154–155 unchecked operator, 154 #undef, 54–55 Underline, 1160 UnderlyingSystemType, 381 UnexpectedException, 408 Unicode, 806–807 uniform resource locator (URL), 738, 1388–1390 Uninstall, 789 UNINSTALL_KEY, 508 Union, 299–300, 982 UnionAll, 982 UniqueConstraint, 945 unit tests, 455–462 code paths, 456–457 creating, 457 ExpectedException, 459 external dependencies, 460–462 Fakes Framework, 459–460 running, 457–459 Visual Studio code paths, 459–460 ExpectedException, 459 external dependencies, 460–462 Fakes Framework, 459–460 running, 454–456 universal unique ID (UUID), 1453 unsafe, 359 unsecured peer names, 1429 Unspecified, 730 Unstarted, 574 UpdateAsync, 478 UpdateCommand, 955 UpdateMode, 1277–1278 UpdateModel, 1316 UpdatePanel, 1263, 1285 UpdateProgress, 1288, 1294 UpdateSourceTrigger, 1139 UploadFile, 740 UploadPropertyInformation, 1425, 1426 UploadRoomInformation, 1425 Uri, 756 UriBuilder, 756 URL See uniform resource locator UrlAuthorization, 1233 UrlRequest, 1385 usage conventions, 58–63 fields, 63 methods, 62–63 names, 59–62 properties, 62–63 variables, 58 UseAutoEndPointSelection, 1441 UseCookies, 1240 UseDeviceProfile, 1240 User, 791 User Datagram Protocol (UDP), 763 UserAgent, 1230 UserControl, 1065, 1144 userControls, 1128 UserInfo, 1246 Username, 791 UseSynchronizationContext, 1359, 1369 UseUri, 1240 ushort, 33, 158 using Console.WriteLine, 25 First.cs, 25 IDisposable.Dispose, 926 Menu, 1292 namespaces, 46–47 TransactionScope, 723 try/finally, 405 TypeView, 383 using namespace, 25 util, 512 utility classes, 756–759 UUID See universal unique ID uuidgen.exe, 1453 V \v, 35 valid state, transactions, 711 ValidateMustUnderstand, 1360 ValidatesOnDataErrors, 1135 ValidatesOnNotifyDataErrors, 1138 ValidateUser, 610, 613 Validation, 1133, 1134 validation ASP.NET MVC, 1317–1318 Web Forms, 1268–1271 WF activities, 1414 WPF data binding, 1132–1139 XmlReader, 1004–1005 Validation.ErrorTemplate, 1134 ValidationEvent, 1005 ValidationGroup, 1271 ValidationRule, 1138–1139 1521 www.it-ebooks.info bindex.indd 1521 30-01-2014 19:49:36 ValidationRules – Visual Studio ValidationRules, 1113 ValidationSummary, 1270 validationTemplate, 1133–1134 ValidationType, 1005 Value, 110, 247, 733, 1076 $value, 1389 , 53 value types, 31–32 equality, 163 floating-point, 34 generics, 114 IL, memory, 348–349 predefined, 33–35 stack, 108 structs, 81–82, 108 ValueAtReturn, 525 ValueCount, 702 Value.IsValueCreated, 867 Values, 252, 1225 values conversion, WPF data binding, 1125–1126 literals, 161 var, 28–29, 79 variables, 27–31 classes, 27 compilers, 27 constants, 31 fields, 29–31 initialization, 27–28 local, 29–31 methods, 27 scope, 29–31 statements, 27 structs, 27 type inference, 28–29 usage conventions, 58 Visual Studio project, 444 VARIANT, 634 Vector, 379, 382 VectorAsCollection, 379–380 VectorClass, 387, 389 Verbose, 530 VerifyData, 618 versions assemblies, 490, 513–517 binding, 514–515 dependencies, 490 runtime, 516–517 calling base, 93 number, strong names, 503 WCF contracts, 1355 WF workflows, 1427–1428 View, 1304, 1292 view engine, 1331 ViewBag, 1291 ViewBox, 1067–1068 ViewData, 1291 ViewDataDictionary, 1305–1306 ViewModel, 1429 ViewResult, 1304 Views, 1325 views, ASP.NET MVC, 1309–1311 login, 1315 ViewState, 1237 virtual abstract functions, 94 classes, 103 cloud state, 1431 implementation inheritance, 91–92 modifiers, 100 overriding, 92 virtual addressing, 348 virtual memory, 12, 348 virtual methods, 91–92 virtual table (vtable), 633, 634 VirtualPath, 1258 Visibility, 813, 1192, 1195 visibility modifiers, 99–100 Visual, 1054, 1063 Visual Basic attributes, 13 IDL, 632 NET Framework, casing, 60 project, debugging, 436–438 sink object, 658 VARIANT, 634 Visual C++, 5–6 Visual F#, visual states, VisualStateManager, 1096–1097 Visual Studio, 417–466 Code Map, 451 CodeBehind, 1254 CodeLens, 433 IntelliSense, 1226 projects Activity Designer Library, 1415 Add Service Reference, 1370 analyzing applications, 448–453 architecture, 446–448 arranging windows, 435 ASP.NET, 415 asynchronous programming, 326 Autos window, 442 breakpoints, 440–441 building, 437–438 Class View window, 435–436 ClickOnce, 472 client application services, 613 Code Analysis, 455–456 code editor, 431–433 code snippets, 433 IntelliSense, 431 code metrics, 456 compiling, 437–438 Concurrency Visualizer, 454–455 Console.Readline, 425 configuration, 440–441 creating projects, 420–425 deadlocks, 578 Debug, 437 debugger visualizers, 442–443 debugging, 417, 439–444 data tips, 438–440 dependency graph, 446–447 design view editor, 416 Design View window, 434 Document Outline, 437 editions, 418 exceptions, 444–445 exploring and coding projects, 424–435 files, 418 folding editor, 431–432 IDE, 8, 415, 419 1522 www.it-ebooks.info bindex.indd 1522 30-01-2014 19:49:37 VisualBrush – Windows Communication Foundation (WCF) language independence, 427 Launch Performance Wizard, 449 layer diagram, 450–451 LINQ to SQL, 1322 Locals window, 442 making, 435–436 MessageQueueInstaller, 1478 Multilingual App Toolkit, 842, 844 multithreading, 445–446 NET Framework, 5, 415, 420–421 Object Browser window, 436 performance, 436–437 profiler, 452–454 variables, 442 Properties Window, 435 sequence diagram, 452 Server Explorer Window, 437 VisualBrush, 1062–1063, 1100 VisualStateManager, 1095–1098 void, 26, 354, 362, 570 VolumeSeparatorChar, 670 vtable See virtual table W W3C See World Wide Web Consortium Wait, 589 WaitCallback, 569 WaitForAccept, 1412 WaitForReject, 1412 WaitForStatus, 801 WaitHandle, 586–587 WaitingForChildrenToComplete, 566 WaitingReadCount, 594 WaitingUpgradableReadCount, 594 WaitingWriteCount, 594 WaitSleepJoin, 574 Warning, 530 #warning, 56 WAS See Windows Activation Services Watch window, Visual Studio, 442 Watt, Andrew, 222 WCF, 417, 463-464 See Windows Communication Foundation WCF Data Services, 1395–1400 weak events, 204–205 weak references, 82–83 WeakEventManager, 205–208 WeakReference, 83 Web API See ASP.NET web applications ASP.NET, 1223–1224 NET Framework, 1223–1224 configuration files, 477–478 deployment, 466, 479–481 packages, 480–481 IIS, 1226–1227 xcopy, 470–473 Web Deploy, 479 Web Forms ASP.NET, 18, 1212, 1224, 1239–1281 ADO.NET EntityFramework, 1271 master pages, ASP.NET, 1263–1267 web application deployment, 479 Web Pages, ASP.NET, 1212 Web project templates, 423 web server controls, ASP.NET, 18 Web Service Enhancements (WSE), 1340 web services, 1291 Web Services Description Language (WSDL), 1341–1342 WebBrowser COM, 746 DocumentText, 754 IE, 746–751 interop, 746 LinkLabel, 748 NET Framework, 746 printing, 753 TextBox, 744, 754 Windows Forms, 737 WebClient, 334 Web.config, 480 web.config, 1228, 1218, 1266 Web.debug.config, 478 WebGet, 1370 WebHttpBinding, 1363 WebInvoke, 1369 WebPermission, 625 WebRequest, 754–756 WebResponse, 754–756 WebSocket, 768–770, 1363–1366 WebSocketContext, 770 WebSocketReceiveResult, 770 WebViewPage, 1318 well connected, P2P, 1428 WF, 464, 1400-1401 See Windows Workflow Foundation WhatsNewAttributes, 378–380, 386–389 WhenAll, 340, 343 WHERE, 1259 Where, 289, 306, 308, 982 where, 117 where T: class, 116 where T: Foo, 116 where T: IFoo, 116 where T: new(), 116 where T: struct, 116 where T1: T2, 116 while, 43, 397 Boolean, 42 Console.ReadLine, 397 Count, 246 foreach, 201 local variables, 29 MoveToContent, 1002 Window, 1065 WindowBase, 848 WindowRuntimeStorageExtensions, 903 Windows 8, 462–464 Windows Activation Services (WAS), 1348, 1368, 1369 Windows Authentication, 923 Windows Communication Foundation (WCF), 1339–1379 ASP.NET runtime, 1340 assemblies, 511 binding, 1362–1368 client, 1350–1351, 1370–1372 application services, 610 1523 www.it-ebooks.info bindex.indd 1523 30-01-2014 19:49:37 Windows Communication Foundation (WCF) – Windows Presentation Foundation (WPF) Windows Communication Foundation (WCF) (continued) CLR, 1355 contracts, 1353–1358 Message Queuing, 1474 versioning, 1355 data access, 1345–1346 data contract, 1355 Data Services, 1379–1398 ADO.NET Entity Framework, 1379, 1380, 1390–1398 ASP.NET Web API, 1380 client library, 1391–1398 CLR, 1380–1385 entities, 1396–1397 hosting, 1383–1384 HTML, 1380 HTTP, 1380 HTTP client application, 1385–1388 JSON, 1380 LINQ, 1393–1394 object tracking, 1395–1396 URL, 1388–1390 diagnostics, 1351–1353 duplex communication, 1372–1374 extensibility, 1340 fault contract, 1357–1358 filters, 1379 hosting, 1368–1370 HTTP, 463, 1340, 1363–1365 IIS, 1348 JSON, 1342 mapped-memory files, 694 Message Queuing, 1472–1478 MessageContract, 1357 metadata, 1370–1371 NET Framework, 20, 1338 networking, 742 OperationContract, 1356–1357 P2P, 1428 PNRP, 1429 project templates, 424 REST, 463, 1340 routes, 1382–1379 protocols, 1378–1379 RoutingService, 1376–1377 security, 1340 service, 1347 Service Host, 1347–1348 Service Library, 1347 ServiceBehavior, 1358–1362 ServiceContract, 1356–1357 SOAP, 463, 1339 TCP, 463 Test Client, 1347–1348 Visual Studio, 415, 463–464 WAS, 1368, 1369 WebSocket, 1365–1368 Windows Forms, 1348 workflows, hosting, 1424–1427 WPF, 1348 WSDL, 1341–1342 XML, 1355 Windows Forms, 415 localization, 822–830 MessageQueueInstaller, 1478 Visual Studio, 415 localization, 822–830 WCF, 1348 WebBrowser, 741 Windows Installer, 470, 473 Windows Presentation Foundation (WPF), 415, 1049–1100 3-D, 1098–1101 camera, 1100 lights, 1100–1101 model, 1099–1100 rotation, 1101 animations, 1089–1095 keystone, 1094–1095 nonlinear, 1092 asynchronous pattern, 326–327 brushes, 1060–1063 business applications, 1105–1153 commanding, 1107–1109 data binding, 1109–1139 DataGrid, 1143–1153 Menu, 1104–1105 MenuItem, 1104–1105 Ribbon, 1109–1111 TreeView, 1139–1143 Calculator, 884 Canvas, 1069 class hierarchies, 1053–1055 Click, 498 client application services, 613 CLR, 1110 command-line tools, 426 ContentControl, 1055, 1065 controls, 1063–1068 simple controls, 1063–1064 ControlTemplate, 1081–1084 cultures, 809 data binding, change notification, 1115–1116 CLR, 1115 DataTemplateSelector, 1129–1130 error handling, 1132–1139 lists, 1118-1120, 1127 master/detail relationship, 1122 MultiBinding, 1122–1124 ObjectDataProvider, 1118–1119 PriorityBinding, 1124–1125 tab items, adding dynamically, 1128–1129 validation, 1132–1139 value conversion, 1125–1126 XAML, 1111–111 XML, 1131–1132 DataTemplate, 1081, 1084–1085 DataTrigger, 1079–1080 decoration, 1067–1068 dependency properties, 853 DockPanel, 1069–1070 documents, 1155–1175 FixedDocument, 1168–1171 FlowDocument, 1164–1168 printing, 1173–1175 TextElement, 1156–1164 XPS, 1171–1173 DynamicResource, 1075–1076 EventTrigger, 1089, 1092–1094 Geometry, 1056–1057 Grid, 1070–1071 HeaderedContentControl, 1065–1066 1524 www.it-ebooks.info bindex.indd 1524 30-01-2014 19:49:37 Windows project templates – Windows Workflow Foundation (WF) HeaderedItemsControl, 1067 HierarchicalDataTemplate, 1081 ItemsControl, 1055, 1066–1067 ItemsPanelTemplate, 1081 ItemTemplate, 1084–1085 ListBox, 1085–1086 localization, 830–839 XAML resource dictionaries, 834–838 MultiTrigger, 1079 namespaces, 1052–1053 NET Framework, 19, 833–834 property triggers, 1077–1078 ResourceDictionary, 1076–1077 resources, 1073–1077 Shape, 1055–1056 StackPanel, 1068–1069 StaticResource, 1075–1076 Style, 1072–1073 templates, 422, 1078–1087 TimeLine, 1089–1092 transformation, 1058–1060 triggers, 1077–1080 Visual Studio, 415, 417 VisualStateManager, 1095–1098 WCF, 1348 weak events, 206 WrapPanel, 1069 XAML, 19, 845, 1050 Windows project templates, 422–423 Windows Resource Localization Editor (winres.exe), 829 Windows Runtime (WinRT), 7, 895–914 application life cycle, 907–911 ApplicationExecutionState, 905–913 async, 900 asynchronous programming, 16, 326 camel casing, 901 collections, 902–903 components, 902–905 data types, 901 delegates, 904 events, 904 image resizing, 1199 JavaScript, 905 language, 899–901 metadata, 899 namespaces, 896–898 navigation state, 908–909 NET Framework, 896 page state, 911–913 Pascal casing, 901 Reference Manager, 485 streams, 903–904 SuspensionManager, 908–909 webcam, 906 Windows Store applications, 913–916 Windows.Management Deployment, 484 XAML, 898– 901 Windows Services, 773–803 architecture, 773–777 classes, 774–777 event logging, 802–803 handlers, 773–774, 787 installation, 788–793 Main, 773–774, 785–786 MMC, 793–794 monitoring and controlling, 793–802 NET Framework, 20, 774 SCM, 773 service configuration program, 774 service control program, 774 service program, 773–793 core functionality, 777–781 service-main, 773–774 threads, 788 troubleshooting, 802–803 Visual Studio, 794 Windows socket (Winsock), 742 Windows Store app bar, 1178, 1187–1188 applications, 1178–1204 contracts, 1208–1212 deployment, 466, 479–484 directories, 1180–1182 files, 1180–1182 HTML, 1208–1210 launching, 1188–1190 layout, 1190–1195 localization, 842–844 navigation, 1188–1190 NET Framework, 19–20 NET Framework streams, 1198 pages, 1182–1187 pickers, 1201–1202 Sharing Target, 1210–1212 storage, 1196–1201 Visual Studio, 466–468 WinRT, 913–916 XAML, 845 C++, 842 camera, 1212–1213 content, 1178–1179 deployment, application packages, 480 fast and fluid, 1179–1180 geolocation, 1213–1215 HTML, 842 JavaScript, 842 readability, 1180 resw, 842 searches, 1206–1207 sensors accelerometer, 1216 compass, 1216 gyrometer, 1216 inclinometer, 1216 light, 1216 orientation, 1216 XAML, 842 Windows store project templates, 423 Windows Workflow Foundation (WF), 1407–1432 activities, 1407, 1409–1413, IF custom, 1413–1416 custom composite, 1416–1419 designers, 1414–1416 Else, 1410–1411 IF,1402-1403 validation, 1414 XAML, 1415–1416 bookmarks, 1421–1422 designers, hosting, 1428–1432 extensions, 1422–1423 1525 www.it-ebooks.info bindex.indd 1525 30-01-2014 19:49:37 Windows Workflow Foundation (WF) – XML Windows Workflow Foundation (WF) (continued) NET Framework, 20 project templates, 425 Visual Studio, 465, 1400–1401 workflows, 1419–1423 Dynamic Update, 1427–1428 side-by-side, 1428 versioning, 1427–1428 XAML, 1420 XAML, 845 Windows.ApplicationModel,894 Windows.ApplicationModel Resources, 842 WindowsAuthentication, 1233 Windows.Devices, 898 WindowsFormsSynchronization, 339 Windows.Foundation, 898 \Globalization, 841 Windows.Globalization, 843, 898 Windows.Graphics, 898 WindowsIdentity, 602 Windows.Management Deployment, 484 Windows.Media, 898 Windows.Networking, 898 WindowsPrincipal, 602 Windows.Security, 898 Windows.Storage, 898 Windows.System, 898 WindowsTokenRoleProvider, 1234 winres.exe See Windows Resource Localization Editor WinRT See Windows Runtime Winsock See Windows socket WithCancellation, 306 Workflow, 1409 WorkflowApplication, 1420–1423 WorkflowApplicationInstance, 1428 WorkflowDesigner, 1430 WorkflowDesigner.Save, 1431 WorkflowIdentity, 1428 WorkflowInvoker, 1409, 1419–1420, 1432 WorkflowItemPresenter, 1419 workflows WCF, hosting, 1424–1427 WF, 1419–1423 Dynamic Update, 1427–1428 side-by-side, 1428 versioning, 1427–1428 XAML, 1420 WorkflowServiceHost, 1424, 1428 WorkForATask, 535 World Wide Web Consortium (W3C), 998 WPF, 419 See Windows Presentation Foundation WrapDirection, 1163 WrapPanel, 1069 Write, 684 WriteAllBytes, 679 WriteAllLines, 679–680 WriteAllText, 679–680 WriteAttributeInfo, 388 WriteAttributeString, 1006 WriteByte, 683–684 WriteEntry(), 543, 544–547 WriteEvent(), 543, 544–547 WriteImageAsync, 1199, 1200 WriteLine, 1408–1409 WriteLine(), 26 WriteMenuCardsAsync, 1198 WriteMenuCardToFileAsync, 1197 WriteSchema, 1022 WriteStartElement, 1006 Write.WriteByte, 683 WriteXml, 1021, 1022 WriteXmlSchema, 1022 writing files, 679–680 isolated storage, 704–707 streams, 680 text files, 686–694 transactions, 710 XAML, 863–864 XML document, 1046–1047 WS2007HttpBinding, 1363 WSDL See Web Services Description Language WSDualHttpBinding, 1363 wsDualHttpBinding, 1373–1374 WSE See Web Service Enhancements WSFederationHttpBinding, 1363 WSHttpBinding, 1363 wsHttpBinding, 1377, 1378 WSHttpContextBinding, 1363 X X, 51 XAML, 419, 421 See eXtensible Application Markup Language XamlDebuggerXmlReader, 863 XamlObjectReader, 863 XamlObjectWriter, 863 XamlReader, 848, 863–864 XamlWriter, 848, 863–864 XamlXmlWriter, 863 x:Array, 852, 863 XAttribute, 1041–1042 XComment, 1040–1041 xcopy See zero impact installation xcopy deployment, 472–473 XDocument, 1036–1037 XElement, 460, 1037–1038 xlf, 843 XLIFF See XML Localisation Interchange File Format XML See also Asynchronous JavaScript and XML; LINQ to XML ADO.NET, aliases, 850 attributes, 1041–1042 comments, 52–54, 1040–1041 DataSet, 954–955, 957–958 documents, 948–953, 995, 1020–1027 LINQ to Query, 1042–1045 reading, 1045–1046 writing, 1046–1047 FileStream, 1031 IIS, 510 isolated storage, 705 1526 www.it-ebooks.info bindex.indd 1526 30-01-2014 19:49:38 XML Localisation Interchange File Format (XLIFF)– zero impact installation (xcopy) LINQ, 310 LINQ to X ML, 1036, 1042–1045 manipulating, 997–1048 namespaces, 998, 1038–1040 NET Framework, 997, 998 schema, 948–953 serialization, 1027–1036, 1458 source code, 1033–1036 WCF, 1355 WPF data binding, 1131–1132 XAML, 848 XPathNavigator, 1011–1020 XML Localisation Interchange File Format (XLIFF), 843 XML Paper Specification (XPS), 1171–1173 XmlArray, 1034 XmlArrayItemAttribute, 1032 XmlArrayItems, 1034 XmlAttribute, 1007 XmlAttributeOverrides, 1033, 1034 XmlAttributes, 1033, 1034 XmlCDataSection, 1007 XmlComment, 1007 XmlDataDocument, 999, 1022, 1017 XMLDataProvider, 1131 XmlDataSource, 1271 XmlDeclaration, 1007, 1011 XmlDocument, 998, 1001, 1007, 1008–1011, 1036 DataSet, 1021 XmlDataDocument, 1023 XmlMode, 1022 XmlDocumentFragment, 1007 XmlDocumentType, 1007 XmlElement, 1007 XmlElementAttribute, 1029, 1034 XmlElements, 1034 XmlEntity, 1007 XmlEntityReferenceNode, 1007 XmlException, 1002 XMLHttpRequest, 1283 XmlInsDefinition, 850 XmlLinkedNode, 1007 XmlMessageFormatter, 1457, 1458 XmlMode, 1022 XmlNode, 999, 1008 XmlNodeList, 999 XmlNodeReader, 1000 XmlNodeType, 1002 XmlNotation, 1007 XmlProcessingInstruction, 1007 XmlQueryOutput, 1000 XmlReader, 999–1007 attributes, 1003–1004 Create, 1001 methods, 1001–1003 strong data typing, 1003 validation, 1004–1005 XmlReaderSettings, 1004 XmlResolver, 999, 1018 XmlRootAttribute, 1029, 1030 XmlSchemaSet, 1005 XmlSchemaValidation, 1005 XmlSerializer, 1027, 1028, 1034 XmlSignificantWhitespace, 1007 XmlText, 1007 XmlTextReader, 707, 1001–1002 XmlTextWriter, 999, 1002, 1007–1008, 1011 XmlUrlResolver, 999 XmlValidatingReader, 1000 XmlWhitespace, 1007 XmlWriter, 1000, 1001, 1005–1006 XmlWriterSettings, 1005, 1006 XmlWriterTraceListener, 530, 534 XNamespace, 1038–1040 Xor, 264 XPath, 998, 1010, 1113 XPathDocument, 1011, 1012 XPathException, 1011 XPathNavigator, 1011–1020 XPathNodeIterator, 1011, 1013, 1014 XPS See XML Paper Specification XpsDocument, 1172 XSD, 948–953 XSD.EXE, 948 xsd.exe, 1028 XsdValidate, 1004, 1005 XslCompiledTransform, 1020 XSLT, 1015, 1019–1020 XsltArgumentList, 1016, 1017–1019 x:Static, 833 x:Uid, 835, 843 Y–Z yield arrays, 141–143 enumerators, 111, 145–146 GetWords, 601 yield return 285, 336 zero impact installation (xcopy), 15, 468, 470, 490 1527 www.it-ebooks.info bindex.indd 1527 30-01-2014 19:49:38 Try Safari Books Online FREE for 15 days and take 15% off for up to Months* Gain unlimited subscription access to thousands of books and videos With Safari Books Online, learn without limits from thousands of technology, digital media and professional development books and videos from hundreds of leading publishers With a monthly or annual unlimited access subscription, you get: • Anytime, anywhere mobile access with Safari To Go apps for iPad, iPhone and Android • Hundreds of expert-led instructional videos on today’s hottest topics • Sample code to help accelerate a wide variety of software projects • Robust organizing features including favorites, highlights, tags, notes, mash-ups and more • Rough Cuts pre-published manuscripts START YOUR FREE TRIAL TODAY! Visit: www.safaribooksonline.com/wrox *Discount applies to new Safari Library subscribers only and is valid for the first consecutive monthly billing cycles Safari Library is not available in all countries www.it-ebooks.info badvert.indd 1528 30-01-2014 19:47:49 Programmer to Programmer™ Connect with Wrox Participate User Group Program Take an active role online by participating in our P2P forums @ p2p.wrox.com Become a member and take advantage of all the benefits Wrox Blox Wrox on Download short informational pieces and code to keep you up to date and out of trouble Follow @wrox on Twitter and be in the know on the latest news in the world of Wrox Join the Community Wrox on Sign up for our free monthly newsletter at newsletter.wrox.com Join the Wrox Facebook page at facebook.com/wroxpress and get updates on new books and publications as well as upcoming programmer conferences and user group events Wrox.com Browse the vast selection of Wrox titles, e-books, and blogs and find exactly what you need Uploaded by [StormRG] Contact Us We love feedback! Have a book idea? Need community support? Let us know by e-mailing wrox-partnerwithus@wrox.com www.it-ebooks.info ... ftoc.indd 18 30- 01- 2 01 4 21 :00 :00 CONTENTS Pickers 1 2 01 Live Tiles 1 202 Summary 1 2 04 Chapter 39: Windows Store Apps: Contracts and Devices 12 05 Overview 12 05 Searching 1 206 Sharing Contract 1 208 ... Foundation 1 40 7 A Workflow Overview 1 40 7 Hello World 1 40 8 Activities 1 40 9 Custom Activities 14 1 3 Workflows 14 1 9 Summary 14 3 2 xx www.it-ebooks.info ftoc.indd 20 30- 01- 2 01 4 21 :00 :00 CONTENTS Chapter 46 :... Techniques for XML Documents 10 45 Summary 1 04 8 Part v: Presentation Chapter 35: Core WPF 1 05 1 Understanding WPF 1 05 2 xvii www.it-ebooks.info ftoc.indd 17 30- 01- 2 01 4 21 :00 :00 CONTENTS Shapes 1 05 5