https://github.com/peteraritchie/dotnetevolution
Code for Evolution of asynchronous programming on .NET session
https://github.com/peteraritchie/dotnetevolution
apm async asynchronous-methods conference-session dotnet
Last synced: about 2 months ago
JSON representation
Code for Evolution of asynchronous programming on .NET session
- Host: GitHub
- URL: https://github.com/peteraritchie/dotnetevolution
- Owner: peteraritchie
- Created: 2012-10-19T11:43:54.000Z (over 12 years ago)
- Default Branch: master
- Last Pushed: 2013-01-12T18:30:51.000Z (over 12 years ago)
- Last Synced: 2023-03-11T12:47:06.183Z (about 2 years ago)
- Topics: apm, async, asynchronous-methods, conference-session, dotnet
- Language: Visual Basic
- Size: 169 KB
- Stars: 0
- Watchers: 1
- Forks: 2
- Open Issues: 0
-
Metadata Files:
- Readme: readme.md
Awesome Lists containing this project
README
VB versions of projects are even-numbered.
##.NET 1.1:##
#01 WindowsFormsApplication#
Introduces the sample application, asynchronous methods (Begin/End), APM
Explicit delegates (new DelegateType(...) Control.InvokeRequired explanation, detail StreamHelper
#02 WindowsApplication#
Introduces the sample application, asynchronous methods (Begin/End), APM##.NET 2.0:##
#03 WindowsFormsApplication#
Introduction of partial types, anoymous methods (anoymous delegates)
#04 WindowsApplication#
only partial types, VB doesn't get anonymous methods yet
#05 WindowsFormsApplication#
Generics in GetScriptBodies, GetScriptBodies becomes iterator method
#05b WindowsFormsApplication#
introduce progress and cancellation, using WebClient instead of WebRequest, introduction of EAP and how Webclient implements EAP
#05c WindowsFormsApplication#
Progress and cancellation with BackgroundWorker as example (not optimal use of BG, but correlates to previous examples), "fake" progress, lazy code monkey
#06 WindowsApplication#
VB version of 05, sans iterator methods: VB doesn't get this in .NET 2.0
#06b WindowsApplication#
VB version of 05b
#06c WindowsApplication#
VB version of 05c##.NET 3.0:##
#07 WindowsFormsApplication#
var, problems with foreach(Match..., lambdas, use of expression lambda in BeginGetResponse and statement lambda elsewhere. encapsulation of asynchronous "callbacks" within the method that makes the async call. Extension methods and StreamExtensions
#08 WindowsApplication#
VB version of 07
#09 WindowsFormsApplication#
LINQ in GetScriptBodies
#10 WindowsApplication#
VB version of 09##.NET 4.0##
#11 WindowsFormsApplication#
Task and Task Parallel Library (TPL), TaskScheduler and FromCurrentSynchronizationContext, no need for InvokeRequired/BeginInvoke, more abstract code and can be used in WPF, etc. EnableButton gone
#11b WindowsFormsApplication#
Cancellation and progress with TPL, "fake" progress, nothing particular to TPL for progress, detail cancellation token source and token and how only token is shared--by value--across threads
#12 WindowsApplication#
VB version of 11
#12b WindowsApplication#
VB version of 11 b##.NET 4.5##
#13 WindowsFormsApplication#
async/await, detail lines after await are "continuations": compare to ContinueWith code, detail how much less code there is from 01, no need for stream extension, use of "using"... detail automatic marshalling to UI thread
#13b WindowsFormsApplication#
progress with async/await. CancellationTokenSource etc and now IProgress and Progress implementation.
#14 WindowsApplication#
VB version of 13
#14b WindowsApplication#
VB version of 13b