Mackey | Introducing .NET 4.0 | E-Book | www.sack.de
E-Book

E-Book, Englisch, 484 Seiten

Mackey Introducing .NET 4.0

With Visual Studio 2010
1. ed
ISBN: 978-1-4302-2456-3
Verlag: Apress
Format: PDF
Kopierschutz: 1 - PDF Watermark

With Visual Studio 2010

E-Book, Englisch, 484 Seiten

ISBN: 978-1-4302-2456-3
Verlag: Apress
Format: PDF
Kopierschutz: 1 - PDF Watermark



Microsoft has introduced a large number of changes to the way that the .NET Framework operates. Familiar technologies have being altered, best practices replaced, and developer methodologies adjusted. Many developers find it hard to keep up with the pace of change across .NET's ever-widening array of technologies. You may know what's happening in C#, but how about the Azure cloud? How is that going to affect your work? What are the limitations of the pLINQ syntax? What you need is a roadmap. A guide to help you see the innovations that matter and to give you a head start on the opportunities available in the new framework. Introducing .NET 4.0: with Visual Studio 2010 is designed to provide you with just that roadmap. It serves as a no-nonsense primer that will help experienced .NET developers understand the impact of the new framework and its associated technologies. This book will keep you updated on the changes and help you to seize new opportunities confidently and quickly.

Alex Mackey is an experienced web consultant with over 12 years experience in web development. He wrote the predecessor to this book, Introducing .NET 4.0: With Visual Studio 2010 (Apress), and is a Microsoft MVP Internet Explorer: Development. Alex has just started a new position with the Australian-based consultancy Kiandra (http://kiandra.com.au/). He previously worked for another consultancy, Readify, in Melbourne, Australia. Alex is very active in the development community and has spoken at a number of large conferences including TechEd, Remix, and Australian ALM. Alex also runs the annual community-development conference DDD Melbourne and user group DevEve.net.

Mackey Introducing .NET 4.0 jetzt bestellen!

Autoren/Hrsg.


Weitere Infos & Material


1;Title Page
;1
2;Copyright Page
;2
3;Contents at a Glance;4
4;Table of Contents
;5
5;About the Author;24
6;About the Technical Reviewer;25
7;Acknowledgments;26
7.1;Contributors;26
8;Introduction;27
8.1;…But We Will Give You All This!;27
8.2;Code Examples;27
8.3;Danger—Work in Progress!;28
9;Chapter 1: Introduction;29
9.1;Versions;29
9.2;What Is .NET 4.0 and VS2010 All About?;30
9.2.1;Efficiency;30
9.2.2;Maturation of Existing Technologies;30
9.2.3;Extensibility;31
9.2.4;Influence of Current Trends;31
9.2.4.1;Multicore Shift;31
9.2.4.2;Unit Testing and Test-Driven Development;31
9.2.4.3;Cloud Computing;31
9.3;What Do Others Think About .NET 4.0?;32
9.3.1;Mike Ormond (Microsoft Evangelist);32
9.3.2;Eric Nelson (Microsoft Evangelist);32
9.3.3;Craig Murphy (MVP and developer community organizer);32
9.3.4;Phil Whinstanley (ASP.NET MVP and author);33
9.3.5;Dave Sussman (MVP and author);33
9.3.6;Matt Lacey (Devevening.co.uk organizer);34
9.3.7;Alex Mackey (Author of this book and MVP);34
9.3.8;Future Trends;34
9.3.9;My Own Subjective Opinion;35
9.4;Summary;35
10;Chapter 2: Visual Studio IDE and MEF;36
10.1;General Improvements;36
10.1.1;Improved Multitargeting Support;37
10.1.2;Intellisense;39
10.1.3;Add References;39
10.1.4;Web Development (Code-Optimized Profile);39
10.1.5;Zoom;40
10.1.6;Highlight References;41
10.1.7;Navigate To;41
10.1.8;Box Selection;42
10.1.9;Call Hierarchy;43
10.1.10;Code Generation;44
10.1.11;Consume First Mode;46
10.1.12;Breakpoints;46
10.1.13;Toolbox;47
10.1.14;Code Snippets;47
10.1.14.1;Loading the Snippet into Visual Studio;49
10.1.14.2;Using Snippets;50
10.1.15;Creating Custom Start Pages;50
10.2;T4 (Text Template Transformation Toolkit) Files;51
10.3;VS2010 Premium and Ultimate;51
10.3.1;Generate Sequence Diagram;51
10.3.2;Historical Debugging (Team System Edition Only);52
10.3.3;Static Analysis of Code Contracts;52
10.4;Customization of IDE;52
10.5;MEF (Managed Extensibility Framework);53
10.5.1;Why Use MEF?;53
10.5.2;Hello MEF;54
10.5.3;How Did This Example Work?;56
10.5.4;MEF Catalogs;57
10.5.5;Metadata;59
10.5.6;What’s This All Got to Do with Visual Studio Extensibility?;60
10.6;Visual Studio Extensibility;60
10.6.1;Editor Margin;61
10.6.2;Distributing Extensions;62
10.6.3;Extension Gallery;62
10.6.4;Visual Studio Shell;63
10.7;Dotfuscator Changes;64
10.8;Conclusion;64
11;Chapter 3: Language and Dynamic Changes;65
11.1;Future Co-evolution of VB and C#;65
11.2;C# Enhancements;65
11.3;Named and Optional Parameters;66
11.3.1;Rules (Non-Optional);67
11.4;VB.NET Changes;67
11.4.1;Line Continuation;67
11.4.2;Inferred Line Continuation Rules;67
11.4.3;Anonymous Method Support;68
11.4.4;Auto-Implemented Properties;68
11.4.4.1;Collection Initializes/From Keyword;68
11.4.4.2;Array Literals;69
11.4.4.3;New Syntax for Creating Jagged Arrays;69
11.4.4.4;Nullable Optional Parameters;69
11.5;Easier COM Interoperability;69
11.5.1;We’re Out of PIA;71
11.6;Variance;71
11.6.1;The Long Version for Everyone Else;72
11.6.1.1;Bad Arrays of Animals and Elephants;72
11.6.1.2;So, What’s the Problem?;73
11.6.1.3;Out;74
11.6.2;Contravariance;74
11.6.2.1;Example of Contravariance;75
11.6.3;Further Reading;77
11.7;Dynamic Enhancements;77
11.7.1;Can’t We Do This Kind of Thing Already in .NET?;77
11.7.2;Static Languages;77
11.7.3;Dynamic Languages;78
11.7.4;Dynamic Dangers;78
11.7.5;Type Dynamic;78
11.7.5.1;Is dynamic the Same as Var?;78
11.7.5.2;Why Type Variables as Dynamic?;79
11.7.6;System.Dynamic.ExpandoObject;79
11.7.7;System.Dynamic.DynamicObject;80
11.7.8;IDynamicMetaObjectProvider;81
11.7.9;Dynamic Limitations;81
11.7.10;Dynamic IL;81
11.7.11;Dynamic Language Runtime (DLR);84
11.7.11.1;Expression/Abstract Syntax Trees (AST);84
11.7.11.2;Dynamic Dispatch;84
11.7.11.3;Binders;84
11.7.11.4;IDynamicObject;85
11.7.11.5;Callsite Caching;85
11.7.12;IronPython;85
11.7.12.1;Embedding Dynamic Languages;85
11.7.12.2;Calling IronPython from .NET;85
11.7.12.3;Red Gate Reflector Add-In;86
11.7.12.4;ResolverOne;86
11.7.13;Michael Foord;87
11.7.14;F#;89
11.8;Jon Skeet;90
11.9;Future of C#;91
12;Chapter 4: CLR and BCL Changes;92
12.1;New CLR;92
12.1.1;ASP.NET;93
12.1.2;What Version of the CLR Does My Application Use?;93
12.1.3;Specifying the Framework to Use;93
12.1.4;VB.NET Command-Line Compiler;94
12.1.5;Improved Client Profile;94
12.1.6;In-Process Side-by-Side Execution;95
12.2;Garbage Collection;96
12.2.1;Garbage Collection Prior to .NET 4.0;96
12.2.2;Garbage Collection in .NET 4.0;97
12.2.3;GC.RegisterForFullGCNotification();97
12.3;Threading;97
12.4;Globalization;97
12.4.1;Globalization Changes in .NET 4.0;98
12.4.2;TimeSpan Globalized Formatting and Parsing;98
12.5;Security;99
12.5.1;Transparency Model;99
12.5.2;Safe Critical Code;99
12.5.3;Critical Code;99
12.5.4;Safe Critical Gatekeeper;99
12.5.5;Why Does It Matter?;99
12.5.6;Security Changes;100
12.5.7;SecAnnotate;100
12.5.8;APTCA and Evidence;101
12.6;Monitoring and Profiling;101
12.7;Native Image Generator (NGen);101
12.8;Native Code Enhancements;102
12.9;Exception Handling;102
12.10;New Types;103
12.10.1;BigInteger;103
12.10.2;Lazy;104
12.10.3;Memory Mapping Files;104
12.10.4;SortedSet;105
12.10.5;ISet Interface;105
12.10.6;Tuple;105
12.10.7;System.Numerics.Complex;106
12.10.8;System.IntPtr and System.UIntPtr;106
12.10.9;Tail Recursion;106
12.11;Changes to Existing Functionality;106
12.11.1;Action and Func Delegates;106
12.11.2;Compression Improvements;106
12.11.3;File IO;107
12.11.4;Path.Combine();107
12.11.5;Isolated Storage;107
12.11.6;Registry Access Changes;107
12.11.7;Stream.CopyTo();108
12.11.8;Guid.TryParse(), Version.TryParse(), and Enum.TryParse();108
12.11.9;Enum.HasFlag();108
12.11.10;String.Concat() and String.Join() support IEnumerable;109
12.11.11;String.IsNullOrWhiteSpace();109
12.11.12;StringBuilder.Clear;109
12.11.13;Environment.SpecialFolder Enum Additions;109
12.11.14;Environment.Is64BitProcess and Environment.Is64BitOperatingSystem;109
12.11.15;Stopwatch.Restart();109
12.11.16;ServiceProcessInstaller.DelayedAutoStart;110
12.11.17;Observable collection refactoring;110
12.11.18;IObservable;110
12.12;Network Class Libraries (NCLs);110
12.12.1;Windows 7 Only;112
12.12.1.1;System.Device.Location;112
12.12.1.2;ExtendedProtection;112
12.13;Deprecated APIs;112
12.13.1;System.Data.OracleClient;112
12.13.2;Global Static Hosting Functions;112
12.14;Code Contracts;113
12.14.1;Hello Code Contracts;113
12.14.2;Installing Code Contracts;114
12.14.3;Example Code Contract;114
12.14.4;Enabling Code Contract Static Verification (Premium/Ultimate Edition Only);116
12.14.5;Contract Inheritance;116
12.14.6;Architecture;117
12.14.7;Conditions;117
12.14.7.1;Preconditions;117
12.14.7.2;Post Conditions;118
12.14.7.3;Object Invariants;118
12.14.8;Code Contract Values;119
12.14.8.1;Contract.Result;119
12.14.8.2;Contract.OldValue;119
12.14.9;Pure;119
12.14.10;Interface Contracts;120
12.14.11;PEX;120
12.15;Conclusion;120
12.16;Further Reading;121
13;Chapter 5: Parallelization and Threading Enhancements;122
13.1;Parallelization Overview;122
13.2;Important Concepts;123
13.2.1;Why Do I Need These Enhancements?;123
13.2.2;Concurrent!= Parallel;123
13.2.3;Warning: Threading and Parallelism Will Increase Your Application's Complexity;124
13.2.4;Crap Code Running in Parallel is Just Parallelized Crap Code;125
13.2.5;What Applications Benefit from Parallelism?;125
13.2.6;I Have Only a Single Core Machine; Can I Run These Examples?;125
13.2.7;Can the Parallelization Features Slow Me Down?;125
13.2.8;Performance;125
13.3;Parallel Loops;126
13.4;Parallel.For();126
13.4.1;An Unrealistic Example?;126
13.4.2;ParallelOptions;130
13.4.3;Parallel.ForEach();130
13.4.4;Warning: Parallelization Can Hurt Performance;130
13.4.5;Parallel.Invoke();130
13.5;Tasks;131
13.5.1;Task Scheduler;131
13.5.2;Creating a New Task;132
13.5.3;Task.Wait() and Task.WaitAll();133
13.5.4;Task.WaitAny();133
13.5.5;IsCompleted;134
13.5.6;ContinueWith();134
13.5.7;Do Parallel Loops Create a Thread for Each Iteration?;134
13.6;Returning Values from Tasks;134
13.6.1;What if the Task Does Not Yet Have a Result?;135
13.6.2;Task Creation Options;135
13.6.3;Task Status;135
13.6.4;Overriding TaskScheduler;135
13.6.5;Scheduling on UI thread;136
13.7;Parallel Debugging Enhancements;136
13.7.1;Parallel Task Window;136
13.7.2;Parallel Stacks Window;138
13.8;PLINQ (Parallel LINQ);140
13.8.1;Why Not Parallelize All LINQ Queries Automatically?;140
13.8.2;Hello PLINQ;140
13.8.3;Ordering Results;141
13.8.4;ForAll Operator();141
13.8.5;AsSequential();141
13.8.6;WithMergeOptions;141
13.8.7;PLINQ performance;142
13.8.8;Cancelling a PLINQ Query;142
13.8.9;Exceptions and Parallel LINQ;142
13.9;Coordination Data Structures (CDS) and Threading Enhancements;143
13.9.1;Thread Pool Enhancements;143
13.9.2;Thread.Yield();143
13.9.3;Monitor.Enter();143
13.9.4;Concurrent Collections;144
13.9.4.1;ConcurrentStack;144
13.9.4.2;ConcurrentQueue;144
13.9.4.3;ConcurrentDictionary;144
13.9.4.4;ConcurrentBag;144
13.9.4.5;BlockingCollection;144
13.9.5;Synchronization Primitives;146
13.9.5.1;Barrier;146
13.9.6;Cancellation Tokens;147
13.9.6.1;CountDownEvent;148
13.9.6.2;ManualResetEventSlim and SemaphoreSlim;149
13.9.6.3;SpinLock;149
13.9.6.4;ThreadLocal;149
13.10;Future Considerations;150
13.11;Danny Shih Interview;150
13.12;Phil Whinstanley;151
13.13;Conclusion;151
13.14;Further Reading;151
14;Chapter 6: Windows Workflow Foundation 4;152
14.1;Why Use WF?;152
14.2;What Can Windows Workflow Do for Me?;155
14.3;What Is Windows Workflow Foundation?;156
14.3.1;Workflow Instance/Runtime;156
14.3.2;Activities;156
14.3.3;Workflow Designer;157
14.4;Existing WF3 Users;158
14.4.1;Statemachine Workflow Has Gone;158
14.4.2;Upgrade White Papers;158
14.4.3;WF3 Runtime;158
14.4.4;Interop Activity;158
14.4.5;Is It Worth the Upgrade?;158
14.5;All Change;158
14.5.1;Hello WF 4;159
14.5.2;Hello WF;159
14.5.3;Arguments and Variables;160
14.5.3.1;Creating an Argument;160
14.5.3.2;WriteLine;162
14.5.3.3;Creating Another Sequence Activity;163
14.5.3.4;Checking Number of Tickets with an If Activity;164
14.5.3.5;Booking Unsuccessful and Assign activity;165
14.5.3.6;Booking Succssful and Parallel Activity;165
14.5.3.7;Displaying the Output of the Booking;166
14.5.3.8;Supplying Arguments to a Workflow;166
14.6;Creating Your Own Activities;167
14.6.1;Creating an Activity Composed of Other Activities;167
14.6.2;Creating Activities Purely in Code;168
14.6.3;Pure XAML Workflows;169
14.7;Invoking Workflows;170
14.8;Flowchart;171
14.9;WCF/Messaging Improvements;174
14.9.1;Correlation;174
14.10;WCF Workflow Service Applications;174
14.10.1;Activities;176
14.10.1.1;WF3 Activity Replacements;177
14.10.1.2;New Activities;177
14.11;Misc Improvements;181
14.12;John Mcloughlin;182
14.13;Summary;183
15;Chapter 7: Windows Communication Foundation;184
15.1;Configless WCF;184
15.2;Default Binding, behavior, and Endpoints;186
15.2.1;Default Binding and Behaviors;186
15.2.2;Standard Endpoints;187
15.3;No svc File;187
15.4;Router Service;188
15.4.1;Routing Example;188
15.4.2;Routing Filters;190
15.4.3;Multicast Support;190
15.4.4;Bridging Protocols;191
15.4.5;Redundancy;191
15.5;WS-Discovery;191
15.5.1;Managed Mode;191
15.5.2;Adhoc Mode;191
15.5.3;Service Announcement Events;194
15.6;WCF Starter Kit Integration;195
15.6.1;Help Pages;195
15.6.2;HTTP Caching;197
15.7;Misc Changes;197
15.7.1;Improved Integration with WF;197
15.7.2;Default Performance-Related Settings Changed;197
15.7.3;Low Memory;197
15.7.4;Other changes;198
15.8;Dublin/Windows Application Server;198
15.9;Further reading;198
16;Chapter 8: Entity Framework;199
16.1;EF and LINQ to SQL;199
16.1.1;Is LINQ to SQL Dead?;199
16.1.2;LINQ to SQL changes;200
16.2;Why Use EF?;200
16.2.1;Abstraction;200
16.2.2;Code Generation;200
16.2.3;Support for Different Databases;201
16.2.4;Design Time Support;201
16.2.5;Utilize LINQ;201
16.2.6;N-Tier Application Development;201
16.3;Where is EF Used?;201
16.4;EF 101;202
16.4.1;Entity Data Model;202
16.4.2;Creating an EDM;202
16.4.2.1;EdmGen.exe;203
16.4.2.2;Creating an Entity Data Model in Visual Studio;203
16.4.3;Navigating the EF model;207
16.4.3.1;Viewing How Entities Are Mapped;207
16.4.3.2;What Happens If My Database Structure Changes?;209
16.4.4;Querying Data;209
16.4.4.1;LINQ to Entities;209
16.4.4.2;ObjectQuery;211
16.4.4.3;Entity SQL;211
16.5;CRUD Operations in EF;211
16.5.1;Creating;211
16.5.2;Updating;212
16.5.3;Deleting;212
16.6;EFv1 Criticisms;213
16.7;Entity Framework 4;213
16.8;EDM Designer Changes;214
16.9;Performance;215
16.10;Pluralization;215
16.11;Deferred/Lazy Loading;215
16.11.1;Eager Loading;215
16.11.2;Complex Type Designer Support;215
16.11.3;Complex Types from Stored Procedures;217
16.12;Model Defined Functions;218
16.13;Model First Generation;219
16.14;Foreign Keys;225
16.14.1;Code Only/POCO;226
16.14.2;POCO in EF4;226
16.14.3;Code Generation Templates;227
16.15;Julie Lerman (Author of Programming Entity Framework and MVP);228
16.16;Dane Morgridge;229
16.17;Conclusion;230
16.18;References/Further reading;230
17;Chapter 9: WCF Data Services;231
17.1;Hello WCF Data Services;231
17.1.1;Entity Framework;232
17.1.2;Creating a Data Service;235
17.1.3;IE Content Settings;236
17.1.4;Hello WDS;237
17.2;Querying WCF Data Services;237
17.2.1;Security in WCF Data Services;239
17.2.2;Query Interceptors;240
17.3;Returning Results in Different Formats;240
17.3.1;Using JSON with JavaScript;240
17.3.2;Using JSON with C#;241
17.4;WDS Proxy Classes;242
17.4.1;Retrieving Items with Proxy Classes;242
17.4.2;Adding a New Item with Proxy Classes;243
17.4.3;Update an Item;243
17.4.4;Delete an Item;244
17.5;WDS 1.5;244
17.5.1;RowCount and Server-Driven Paging;244
17.5.1.1;$count;244
17.5.1.2;$inlinecount=allpages;245
17.5.2;Limiting Number of Results Returned;245
17.5.3;Projections;245
17.5.4;Friendly Feeds;246
17.5.5;Miscellaneous Improvements;246
17.5.6;What’s the Relationship Between WDS and WCF RIA Services?;246
17.6;Conclusion;247
17.7;Further Reading;247
18;Chapter 10: ASP.NET;248
18.1;Project Templates;248
18.2;Web.config;249
18.3;IDE Changes;250
18.4;Code Snippets;251
18.4.1;ASP.NET Code Snippets;251
18.4.2;Using Snippets;251
18.5;Deployment;254
18.5.1;Web.config Transformation;254
18.5.2;Creating a New Deployment Configuration;255
18.5.3;Transforming Web.config from the Command Line;256
18.5.4;Web.config Transformation Options;256
18.5.5;Web Packages;257
18.5.6;One-Click Publishing;260
18.6;ViewState;261
18.7;ClientIDMode;262
18.8;Response.RedirectPermanent();262
18.9;Meta-tags;263
18.10;URL Routing;263
18.11;HTML Encoding;264
18.11.1;HtmlString;264
18.11.2;Custom Request Validation;264
18.11.3;Custom Encoders;264
18.12;URL and Query String Length;265
18.13;Valid URL Characters;265
18.14;Accessibility and Standards;265
18.14.1;controlRenderingCompatibilityVersion;265
18.14.2;RenderOuterTable;266
18.14.3;CheckBoxList and RadioButtonList;266
18.14.4;ASP.NET Menu control;266
18.14.5;Browser Capability Files;266
18.15;Further Control Enhancements;267
18.15.1;Wizard Control;267
18.15.2;ListView Enhancements;267
18.15.3;GridView;267
18.15.4;CompareValidator;267
18.15.5;Query Extender;268
18.15.6;Browser capability files;268
18.16;Auto-Start Web Applications;268
18.17;Compress Session State;269
18.18;Caching;269
18.18.1;Velocity;269
18.18.2;System.Runtime.Caching;269
18.19;Resource Monitoring;270
18.20;Charting Controls;271
18.21;Dynamic Data Framework;272
18.22;Conclusion;272
18.23;Further Reading;272
19;Chapter 11: Microsoft AJAX Library;273
19.1;Architecture Changes;273
19.1.1;Compatibility;273
19.1.2;A pageLoad Problem Fixed;274
19.2;Installation;274
19.2.1;Adding Microsoft AJAX Libraries to Your Project;274
19.2.2;Client Script Loader;275
19.2.2.1;Referencing jQuery Scripts;275
19.2.2.2;Specifying Script Directories;276
19.2.2.3;Loading Custom Scripts;276
19.2.2.4;Lazy Loading;277
19.2.3;AJAX Libraries Now Hosted by Microsoft;277
19.2.4;ScriptManager EnableCDN;277
19.3;AJAX Toolkit Integration;277
19.4;Controls Now Exposed as jQuery Plug-ins;278
19.5;DataView;278
19.5.1;XHTML-Compliant?;278
19.5.2;Hello, Microsoft AJAX;278
19.5.3;sys-template CSS rule;279
19.6;DataView Binding;279
19.6.1;Declarative Binding;279
19.6.2;Programmatic Binding;281
19.6.3;A Cleaner Programmatic Binding;281
19.7;Master Detail Binding;282
19.8;Binding to External Services;284
19.8.1;WebService (.asmx);284
19.8.2;WCF Binding;285
19.8.3;JSONP;286
19.9;Advanced Binding;286
19.9.1;Conditional Rendering;287
19.9.1.1;sys:if;287
19.9.1.2;$dataItem;287
19.9.1.3;$index;287
19.9.1.4;sys:codebefore and sys:codeafter;287
19.9.1.5;sys:innertext and sys:innerhtml;288
19.10;Binding Converters;288
19.11;Two-way Binding;288
19.12;Sys.Observer;290
19.12.1;WCF Data Services Data Context;290
19.13;Conclusion;292
19.14;Further Reading;292
20;Chapter 12: jQuery;293
20.1;jQuery or Microsoft AJAX libraries?;293
20.2;jQuery Overview;294
20.2.1;Downloading jQuery;294
20.2.2;IntelliSense;295
20.2.3;Script Hosting;295
20.2.4;Hello jQuery;296
20.2.5;How Does It All Work?;297
20.3;Selecting Elements;297
20.3.1;CSS Selectors;298
20.3.2;jQuery Selectors;299
20.3.3;Working with Sets;299
20.3.4;.each() method;300
20.3.5;Working with Attribute Values and CSS;300
20.4;Writing Elements Dynamically;301
20.5;Running a Script on Page Load;301
20.6;Adding Functions;302
20.7;Animation/Effects;302
20.7.1;Effect Overloads;302
20.7.2;Core Library Effects;303
20.7.3;Additional Effects;304
20.7.4;Glimmer;304
20.7.5;jQuery Tools;304
20.8;Chaining Events;305
20.9;Customizing jQuery;305
20.10;AJAX Methods;305
20.10.1;Load and Run JavaScript File;305
20.10.2;Submitting Data;306
20.10.3;Getting the Latest Version of a Page;306
20.10.4;Retrieving a JSON Object;307
20.10.5;A Better Way;307
20.11;Utility Methods;308
20.12;jQuery Additions;308
20.13;Summary;309
20.14;Further Reading;309
21;Chapter 13: ASP.NET MVC;310
21.1;MVC History;310
21.2;So Why MVC?;311
21.3;An Existing MVC application;311
21.4;What a State;313
21.5;Type Initialization;313
21.6;Installing MVC;314
21.7;Creating the MVC Application;314
21.7.1;Project Structure;314
21.7.2;Changing the Layout of MVC Pages;315
21.7.3;Creating the Model;316
21.7.3.1;Creating EF Entities;316
21.7.3.2;Repository Pattern;316
21.7.3.3;Creating Validation for Data Model;318
21.7.4;Creating a Controller;319
21.7.5;Adding a View;320
21.7.6;Running the application;321
21.7.7;A Closer Look at Routing;322
21.7.8;Returning Views;323
21.7.9;ViewData and TempData;323
21.8;Displaying a List of Data;323
21.8.1;Have We Gone Back to 1998?;325
21.8.2;Creating a Detail Page;325
21.8.3;HtmlHelper Methods;327
21.8.4;Strongly Typed Views;328
21.8.5;Creating a Strongly Typed View;328
21.8.6;Creating an Add New and Delete Functionality;331
21.8.7;Accepting Data from Users;332
21.8.7.1;Specify individual properties;332
21.8.7.2;Form Collection;332
21.8.7.3;Bind Attributes;332
21.8.8;Attributes;333
21.8.8.1;AcceptVerbs;333
21.8.8.2;OutputCache;333
21.8.8.3;Authorization;333
21.9;ASP.NET MVC and JavaScript;333
21.10;Custom Routing;336
21.11;ASP.NET MVC and Security;337
21.12;Extending MVC;338
21.12.1;Extension Methods;338
21.12.2;Filters;339
21.13;Testing;339
21.13.1;Creating a Fake Film Repository;339
21.13.2;Creating a Test;340
21.13.3;Modify Film Controller;342
21.13.4;Running Tests;342
21.14;ASP.NET MVC V2;343
21.15;ASP.NET MVC in the real world;343
21.16;What’s Next?;344
21.17;ASP.NET MVC Highlights;345
21.18;Considerations;345
21.19;Summary;346
21.20;Further Reading;346
22;Chapter 14: Silverlight Introduction;347
22.1;Silverlight versus Flash;347
22.2;Silverlight in the Real World;348
22.3;WPF;350
22.4;XAML;350
22.5;Silverlight Requirements and Installation;350
22.6;Expression Blend;350
22.7;Creating a New Silverlight Project;351
22.7.1;Project Structure;352
22.7.2;Hi Yo, Silver!;353
22.7.2.1;Understanding the Basics;353
22.7.2.2;Adding Content;354
22.8;Adding Silverlight to your Application;354
22.8.1;Object Tag;354
22.8.2;Pages in Silverlight;355
22.8.3;Creating a Silverlight User Control;356
22.8.4;App.xaml;357
22.8.5;Styles;357
22.9;Positioning Elements;358
22.10;Attached and Dependency Properties;359
22.11;Layout Controls;360
22.11.1;Canvas;360
22.11.2;Stack Panel;360
22.11.3;Grid;363
22.12;Simple Animation;365
22.12.1;Creating Animation Programmatically;365
22.12.2;Responding to User Events;366
22.12.3;Declarative Animation;367
22.13;HTML Integration;368
22.13.1;Calling a JavaScript Function from Silverlight;369
22.13.2;Changing DOM Element Values from Silverlight;369
22.13.3;Calling a Silverlight Function from JavaScript;369
22.13.4;Passing Parameters into Silverlight;371
22.13.5;InitParams;371
22.13.6;Query String;371
22.14;Embedding Content in a Silverlight application;371
22.15;Loading XAML Dynamically;372
22.16;Media;373
22.17;Additional Controls;375
22.18;Data Binding;375
22.18.1;DataBinding Modes;379
22.18.2;Data Binding and Dependency Properties;379
22.18.3;Two-Way Binding;380
22.18.4;Binding ListBox;380
22.18.5;DataTemplates;381
22.18.6;DataGrid;381
22.19;Network Communications;383
22.20;Summary;383
22.21;Further Reading;384
23;Chapter 15: WPF 4.0 and Silverlight 3.0;385
23.1;IDE Enhancements;385
23.1.1;VS2010 WPF/Silverlight Designer;385
23.1.2;Sort by Property Source;385
23.1.3;Property Icons;386
23.1.4;Style;386
23.1.5;Brushes;387
23.1.6;Binding Window;389
23.1.7;Design Time Data Binding;390
23.1.8;New Image Picker;390
23.1.9;Improved Grid Designer;390
23.1.10;Improved Error Handling for User Controls;391
23.1.11;Static Resource and Designer Fix;392
23.1.12;Drag-and-Drop Data Binding;392
23.1.13;Improved XAML Intellisense;396
23.2;New Controls;397
23.2.1;Ribbon Control and Bag O’Tricks;398
23.3;Windows 7 Integration;398
23.3.1;Jump Lists;398
23.3.2;Task Bar;399
23.4;Multitouch Functionality;400
23.5;Binding Changes;401
23.5.1;Run.text;401
23.5.2;Dynamic Binding Support;401
23.5.3;Input Bindings Now Support Bindings;402
23.6;Text-Rendering Improvements;402
23.6.1;TextOptions.TextFormattingMode;402
23.6.2;TextOptions.TextRenderingMode;403
23.6.3;RenderOptions.ClearTypeHint;404
23.6.4;East Asian Bitmap font support;404
23.6.5;Layout Rounding;404
23.6.6;Cached Composition;404
23.6.7;Animation Easing;405
23.6.8;Pixel Shader 3.0 Support;406
23.6.9;Visual State Manager Integration;406
23.6.10;HTML-XBAP Script Interop;406
23.6.11;Full-Trust XBAP Deployment;406
23.6.12;Client Profile;406
23.6.13;Miscellaneous Changes;406
23.7;Silverlight 3.0;407
23.7.1;Upgrading from Silverlight 2;407
23.8;Offline Applications;407
23.8.1;Creating an Offline Application;407
23.8.2;Uninstalling Offline Silverlight Applications;410
23.8.3;Detaching Manually;410
23.8.4;Retrieving Attachment State;410
23.8.5;Detecting Connection Status;411
23.8.6;Autoupdate;411
23.9;Deep Linking and Browser History;411
23.9.1;Navigation Application;411
23.10;Local Connections;412
23.11;Styles;414
23.11.1;Applying Styles Dynamically;414
23.11.2;Style Inheritance;415
23.11.3;Merge Dictionary Support;415
23.12;Save File Dialog;415
23.12.1;Filtering Files in SaveDialog;416
23.13;Element to Element Binding;416
23.14;Effects and Transformations;416
23.14.1;Plane Projection;416
23.14.2;Easing Effects;419
23.14.3;Pixel Shaders;419
23.14.4;Creating Your Own Pixel Shaders;421
23.15;Media;422
23.15.1;New Formats;422
23.15.2;Silverlight DRM;422
23.16;Performance;423
23.16.1;Binary XML Support;423
23.16.2;Enhanced Deep Zoom performance;423
23.16.3;Improved XAP Compression;423
23.16.4;Silverlight.js;423
23.16.5;Assembly Caching;423
23.16.6;GPU Acceleration;424
23.17;Miscellaneous Enhancements;425
23.17.1;Controls;425
23.17.2;Listbox;425
23.17.3;TextBox Cursor Styling;425
23.17.4;Accessibility;425
23.17.5;Browser Zoom Support;425
23.17.6;Slsvcutil.exe;426
23.17.7;WCF RIA Services;426
23.18;Blend 3/SketchFlow;426
23.19;Silverlight 4.0;427
23.20;Silverlight in the Real World;427
23.20.1;Rusty Johnson and Andy Britcliffe, SharpCloud;427
23.21;Summary;429
23.22;Further Reading;429
24;Chapter 16: Windows Azure;431
24.1;Azure Overview;432
24.2;Architecture;432
24.2.1;Will I Be Able to Install My Own Version of Windows Azure?;433
24.2.2;Before You Begin;433
24.2.3;Installation;434
24.3;Web Roles;434
24.3.1;Hello Azure;434
24.3.1.1;Chapter16.WebRole;435
24.3.1.2;Chapter16.HelloAzure;435
24.3.2;Azure and Configuration Settings;436
24.3.3;Logging and Debugging;438
24.3.4;Testing Azure Applications;438
24.3.5;Creating Development Storage;438
24.3.5.1;Service Details Node;440
24.3.5.2;Chapter16.HelloAzure Node;440
24.3.5.3;Chapter16.WebRole Node;440
24.3.5.4;Green Globes;441
24.3.6;Viewing Azure Logs;441
24.4;Deployment;442
24.4.1;Deploying Hello Azure Application;442
24.4.1.1;Application Package Section;445
24.4.1.2;Configuration Settings Section;445
24.4.2;Staging;447
24.4.3;Production URLs;448
24.4.4;Analytical Data;448
24.5;Local Storage;449
24.6;Worker Roles;449
24.7;Storage in Azure;450
24.8;Azure Storage;451
24.8.1;Working with Azure Storage;451
24.8.2;Azure API or REST Requests?;451
24.9;Let's REST for a Minute;452
24.9.1;Azure Storage Names;452
24.9.2;Blobs (Binary Large Object);452
24.9.3;Blob Example;453
24.10;Accessing REST API Directly;455
24.10.1;How Do We Work with the REST API?;455
24.10.2;Working with Azure Storage with Raw HTTP Requests;456
24.11;Queues;458
24.12;Table Storage;461
24.13;Other Azure Services;463
24.13.1;Microsoft.NET Services;463
24.13.2;Windows Live Services;463
24.14;Pricing and SLA;464
24.15;Real World Azure;465
24.15.1;Ray Booysen;465
24.15.2;Rusty Johnson and Andy Britcliffe, SharpCloud;466
24.16;Advantages;467
24.17;Disadvantages;467
24.18;Conclusion;468
24.19;Further Reading;468
25;Index;469



Ihre Fragen, Wünsche oder Anmerkungen
Vorname*
Nachname*
Ihre E-Mail-Adresse*
Kundennr.
Ihre Nachricht*
Lediglich mit * gekennzeichnete Felder sind Pflichtfelder.
Wenn Sie die im Kontaktformular eingegebenen Daten durch Klick auf den nachfolgenden Button übersenden, erklären Sie sich damit einverstanden, dass wir Ihr Angaben für die Beantwortung Ihrer Anfrage verwenden. Selbstverständlich werden Ihre Daten vertraulich behandelt und nicht an Dritte weitergegeben. Sie können der Verwendung Ihrer Daten jederzeit widersprechen. Das Datenhandling bei Sack Fachmedien erklären wir Ihnen in unserer Datenschutzerklärung.