Was dir Trivialbeispiele in Async and Await nicht sagen! Marcus Kimpenhaus und Martin Möllenbeck.

Slides:



Advertisements
Ähnliche Präsentationen
Dynamische WEB-Applikationen
Advertisements

DNS-Resolver-Mechanismus
Microsoft Referenzarchitekturen- Infrastruktur für Connected Systems
Entwicklung und Einsatz von Smart Client-Anwendungen Jens Häupel Developer Evangelist Microsoft Deutschland GmbH Dirk Primbs.
Windows Vista für Entwickler
Neue Mobilität Frank Prengel Developer Evangelist Developer Platform & Strategy Group Microsoft Deutschland GmbH
Ein erster Blick auf ASP.NET 2.0 Whidbey Uwe Baumann Developer Platform & Strategy Group Microsoft Deutschland.
Windows Server 2003 Managment Eric Hellmich
LoanBroker w/ BizTalk Statuspräsentation – 26. Mai 2011 Referenten: Allgeier, Isenmann, Kopp.
Agenda Biztalk Loan Broker Fazit und Ausblick Motivation
Personalisierte Benutzeroberflächen BFD WS 12/13 Übung 6 Producing an end-user experience that is uniquely appropriate for each individual. [Sears]
Objektorientierte Programmierung JDK-Klassenbibliothek
Seminar Web-Engineering Nina Aschenbrenner / Ruben Jubeh 1 FG Software Engineering Software Engineering Seminar Web Engineering Seminar des Fachgebiet.
WebCast: Managed Smart Tags mit VSTO Jens Häupel.NET Technologieberater Microsoft Deutschland GmbH
MSDN Webcast: VB.NET für Einsteiger und Umsteiger, Teil 10 Die erste, eigene Klassenbibliothek (Level 100) Presenter: Daniel Walzenbach Technologieberater.
Divide and Conquer Eclipse RCP und Spring in verteilten Anwendungen Stefan Reichert | Lufthansa Systems Benjamin Pasero | IBM Rational.
TENEZ Hallenreservierungssystem Verwaltung von mehreren Vereinen Verwaltung von mehreren Standorten mit Hallen Kundenverwaltung Reports Mobile Version.
01 Installation / Support. © beas group 2011 / Page 2 This documentation and training is provided to you by beas group AG. The documents are neither approved.
Peter Monadjemi | ActiveTraining
© Zühlke 2011 Martin Kutz XingApp - Cross Platform Cross Platform Tests mit Mono am Beispiel der XING App 22. November 2011 Folie 1 von 14.
© by ppedv AG Partner: Silbersponsoren:Veranstalter: Goldsponsor: Automatisierte Generierung von Unit-Tests mit PEX Thomas Schissler
Formatvorlage des Untertitelmasters durch Klicken bearbeiten Platin-Partner: Gold-Partner: Veranstaltungs-Partner: Medien-Partner: Web Content Management.
Entwicklung verteilter Anwendungen I, WS 13/14 Prof. Dr. Herrad Schmidt WS 13/14 Kapitel 4 Folie 2 Message Passing mittels Sockets (1) s.a.
Microsoft Office Forms Server
Silverlight Eine Einführung. Agenda 1.Was ist Silverlight? 2.Die Silverlight Philosophie 3.Vorstellung des Szenarios 4.Einführendes Beispiel 5.Konzepte.
Testing using Mock Obejcts
Medien zwischen Technologie und Gesellschaft Dozent: Herr Prof. Dr. Manfred Thaller SS 13 Referent: Christian Braun.
Google App Engine Microsoft Windows Azure
Workshop WPF für Windows-Entwickler
Test Driven Development - Romano Adler-
Automated Software Testing
BAS5SE | Fachhochschule Hagenberg | Daniel Khan | S SPR5 MVC Plugin Development SPR6P.
EsprIT 1 Übersicht in Bildern Framework zur Entwickung von Java Applikationen Client/Server, GUIs, Datenbank,
© All rights reserved. Zend Technologies, Inc. Jan Burkl System Engineer, Zend Technologies Zend Server im Cluster.
RateMe Slides. Ablauf Präsentation des Konzepts (5-10 min) Demonstration der laufenden Software (5-10 min) Fazit der gesammelten Erkenntnisse.
RateMe Slides. Ablauf Präsentation des Konzepts (5-10 min) Demonstration der laufenden Software (5-10 min) Fazit der gesammelten Erkenntnisse.
Das Model-View-ViewModel-Pattern
Jan Hentschel Microsoft Expert Student Partner Windows Azure Windows Azure SQL Server auf IaaS How-to.
Last- und Performance-Tests für alle
Jan Hentschel Microsoft Expert Student Partner Windows Azure Windows Azure Windows Azure Mobile Services.
| Basel Developing apps for SharePoint 2013 using Visual Studio 2013 René Modery, Office 365 MVP, 1stQuad Solutions.
Dariusz Parys Developer Evangelist Microsoft Deutschland GmbH.
Quelle: Standish Group, 2006 Fourth Quarter Research Report, CHAOS Research Results.
MongoDB on Linux-VM.
MVVM in Windows 8 und Windows Phone 8
PresenterCompanyContact Windows Azure ASP.NET Web-Anwendungen schnell und zuverlässig bereitstellen.
Parallel Programming Thread Synchronization. Heute 1. Lösung zu Assignment 2 2. Erstellen und Starten von Threads in Java 3. Das synchronized Schlüsselwort.
JSP Einführung Skripte Direktiven Tomcat 3.2 Version 1.1
XML IV: Cocoon 2.
SharePoint FIS HandsOn – out of the Box.
Making people work together! Folie 1 NEXPLORE AG Stefan von Niederhäusern Einfache Anwendung der SuisseID durch das Software Development KIT
Office Business Anwendungen mit SharePoint 2010 Fabian Moritz SharePoint MVP.
Office Business Anwendungen mit SharePoint Fabian Moritz | MVP Office SharePoint Server.
© All rights reserved. Zend Technologies, Inc. Jenseits von var_dump(): Debugging in ZF Jan Burkl System Engineer.
Web Services in.NET und die.NET My Services 14. November Web Services in.NET und die.NET My Services Mario Ehrlicher Senior Consultant Xuccess
Caliburn.Micro.
Team-Foundation-Server in der Praxis
RateMe Slides. Ablauf Präsentation des Konzepts (5-10 min) Demonstration der laufenden Software (5-10 min) Fazit der gesammelten Erkenntnisse.
RateMe Slides. Ablauf Präsentation des Konzepts (5-10 min) Demonstration der laufenden Software (5-10 min) Fazit der gesammelten Erkenntnisse.
SQL Server 2005 CLR Integration Sebastian Weber Microsoft Deutschland GmbH
Beispielanwendung von Java Threads
CAS ICT Modul Netzwerk Christoph Röthenmund
Structure of architecture documentation
© 2014 Fake the Unfakeable Isolating Code Under Test with Microsoft Fakes ©
Parallele Programmierung im.NET Framework Darmstadt, Präsentation am Beispiel von C-Sharp (C#)  Wichtige Grundlagen  Generika, Delegate, Lambda,
Microsoft Student Partner
Test 1 Test 2 Test 3. Test 4 Test 5 Test 6 Test 7 Test 8 Test 9.
.NET Threading im Detail
Test.
 Präsentation transkript:

Was dir Trivialbeispiele in Async and Await nicht sagen! Marcus Kimpenhaus und Martin Möllenbeck

Agenda Warum asynchrone Programmierung? Wie hat man dies bisher gelöst? Async/await – das neue Pattern (TAP). Pragmatische Design Pattern für async/await im Entwickler-Alltag.

Warum asynchrone Programmierung? Responsive UI (Fast & Fluid) Verbesserung des Datendurchsatz Optimierung des Thread-Pooling.NET Runtime Beispiel: Web-Server Typische Szenarien Web-Requests, I/O, Image-Processing (LRT), Database-Requests Beispiel: Das Cafe

Wie hat man dies bisher gelöst? (1) APM: Asynchronous Programming Model BEGIN / END Methoden / IAsyncResult Callback-Handle (oder Lambda) Weiterführende Links MSDN-Dokumentation:

Wie hat man dies bisher gelöst? (1-Demo)

Wie hat man dies bisher gelöst? (2) EAP: Event-based Asynchronous Pattern Method Async / Completed Event-Binding Weiterführende Links MSDN-Dokumentation:

Wie hat man dies bisher gelöst? (2-Demo)

Wie hat man dies bisher gelöst? (3) Nachteile APM / EAP Code-Splittung (APM & EAP) Bei APM-Lambda keine Splittung aber unleserlich Event-Binding / Un-Binding (EAP)

Async/await – das neue Pattern (TAP) Async & await als neue Schlüsselwörter Task / Task als return Werte Handling innerhalb einer Methode (Async-Suffix) Thread-safe Dispatching (auch Exception-Stack) Weiterführende Links MSDN-Dokumentation: Pattern-Dokumentation: Best Practice Post:

Async/await – das neue Pattern (TAP-Demo)

Pragmatische Design Pattern: async/await (1) Generell Eine asynchrone Methode ist für das Erzeugen des Task selbst verantwortlich Task.Run (ThreadPool.Queuing) besser als TaskFactory.StartNew WebClient und Thread.Delay kapseln dies implizit (schlechte Beispiele ) Bei Parallelisierung Task.WhenAll zur Task-Synchronisation async all the way

Pragmatische Design Pattern: async/await (2) UI Entkopplung innerhalb des View-Models 2 Methoden 1 Binding an ActionCommand (synchron) 1 Async Executer ( Unit-Testing)

Pragmatische Design Pattern: async/await (3) API Alle Schichten Nur ausgewählte Schichten (TCP, I/O, …) ? Progress-Reporting / Cancellation Unit-Testing Deklaration: async Task TestMethod Im Test: await FunctionUnderTest();

Und jetzt noch… GitHub Link zu den Samples: Download-Link zur Präsentation enhaus_moellenbeck.ppt enhaus_moellenbeck.ppt

Fertig! Fragen ? Jetzt oder später: