SlideShare una empresa de Scribd logo
1 de 19
Descargar para leer sin conexión
Was ist neu in .NET 4.5?
Hans Peter Bornhauser, Noser Engineering AG
Fachbereichsleiter .NET, Digicomp AG
1
Der Referent: Hans Peter Bornhauser
 Dipl. Ing ETH
 Software Architect, Senior Software Engineer, Consultant and Trainer bei
Noser Engineering AG in Winterthur
 Fachbereichsleiter .NET bei Digicomp
 12 Jahre Webentwicklung mit .NET (seit Beta 1.0)
 ASP.NET Webforms und MVC
 WPF und Silverlight
 WCF und Entity Framework
 Windows 8 Apps (search.ch, Family Trips)
 div. Microsoft Zertifikate
 MCPD Web + Windows
 MCPD Silverlight + Azure
 MCSD Web Applications .NET 4.5
 MCT (Certified Trainer)
2
.NET Generationen
3
Managed Code
Generics
Language Integrated Query
Dynamic + (Language Parity)
C# 5.0 + VB 11.0
Windows 8 Runtime + Asynchrony
C# 1.0 + VB 7.0
C# 2.0 + VB 8.0
C# 3.0 + VB 9.0
C# 4.0 + VB 10.0
.NET 4.5 / Visual Studio 2012 News
4
Was ist wirklich neu?
 Einfache asynchrone Aufrufe (async/await)
 Verbesserungen am Parallel Framework
 Windows 8 Apps
 XAML/C# oder HTML5/CSS3 und JavaScript
 Expression Blend kann HTML und CSS, Bestandteil von Visual Studio
2012 (aber nur für Windows 8 Apps)
 Portable Klassenbibliotheken (für .NET, Silverlight, Phone, XBox und
Windows 8)
 Testmanager
 Lightswitch integriert
 Verbesserte HTML 5 / CSS / JavaScript Editoren, Page Inspector
5
Was fällt weg?
 Macros
 Client Profile für .NET Framework
 Windows Installer Projekte
 Keine Unterstützung für Windows XP (.NET 4.5)
6
Asynchrone Programmierung
7
Async. Pattern BeginXXX / EndXXX
8
C# Visual Basic .NET
private void OnDownloadClick(object sender, EventArgs e)
{
WebRequest request = WebRequest.Create("http://www.digicomp.ch");
// Request in Hintergrundthread ausführen, Referenz als State-Parameter übergeben
request.BeginGetResponse(new AsyncCallback(GetResponseCallback), request);
}
// Callback-Methode für die abschließende Behandlung
private void GetResponseCallback(IAsyncResult asyncResult)
{
WebRequest request = (WebRequest)asyncResult.AsyncState;
WebResponse response = request.EndGetResponse(asyncResult);
string t = response.ContentType;
long n = response.ContentLength;
// Control.Invoke für Zugriff auf Steuerelemente
this.Invoke(new ShowInfoDelegate(ShowInfo), "ContentType: " + t + ", ContentLength: " + n);
}
private delegate void ShowInfoDelegate(string text);
private void ShowInfo(string text) // Hilfsmethode vom GUI-Thread ausgeführt
{
BeginXXXInfo.Text = text;
}
Async. Pattern .NET 2.0
9
C# Visual Basic .NET
private void OnDownloadClick(object sender, EventArgs e)
{
// WebClient instanzieren
WebClient webClient = new WebClient();
// Eventhandler binden
webClient.DownloadStringCompleted += new
DownloadStringCompletedEventHandler(webClient_DownloadStringCompleted);
// Methode aufrufen
webClient.DownloadStringAsync(new Uri("http://www.dotnetpro.de"));
}
void webClient_DownloadStringCompleted(object sender, DownloadStringCompletedEventArgs e)
{
// Der Eventhandler darf unmittelbar auf die Steuerelemente zugreifen
WebsiteContent.Text = e.Result;
Asynchrone Methoden
 Modell
1. Alles nach await wird in eine eigene Methode verschoben
2. Es gibt eine neue Methode DownloadStringTaskAsync, welche das
gleiche macht wie das Original, aber asynchron ist.
3. Nach dem Aufruf von DownloadStringTaskAsync wir die Methode
beendet und an den Aufrufer zurückgegeben.
4. Die 2. Hälfte der Methode wird aufgerufen, wenn der asynchrone Teil
fertig ist.
C# Visual Basic .NET
private async void OnLoadWebPageClickAsync(object sender, EventArgs e)
{
WebClient webClient = new WebClient();
WebsiteContent.Text = await webClient.DownloadStringTaskAsync("http://www.digicomp.ch");
}
Web Entwickler
 AntiXSS
 Bundling + Minification
 Web API
 Web Sockets Unterstützung (nur IIS 8 und IE10), SignalR
 Model Binding für WebForms (ähnlich ASP.NET MVC)
 Typisiertes Data Binding
 Unterstützung für mobile Devices
 Page Inspector
11
WPF Entwickler
 Neue Controls
 Ribbon (RibbonWindow / RibbonButton / RibbonGroup, ...)
 Virtualizing Panel
 Verbesserungen im Data Binding
 Markup Extensions für Ereignisse
 Verzögerte Synchronisation beim Data Binding
 Bindung an statische Eigenschaften
 INotifyDataErrorInfo für asynchrone Validierung auf dem Server
 Verbessertes Threading
 Thread Synchronisation für ObservableCollections
 Erweiterungen der Dispatcher Klasse (async. Methoden)
 Weak Event Pattern
 Verbesserte Interoperabilität mit Windows Forms
12
WCF Entwickler
 Konfiguration entschlackt, Validierung und Intellisense
 Unterstützung für async / await
 Neue Bindings
 basicHttpsBinding
 udpBinding
 Web API ( = webHttpBinding + MVC)
 WebSockets
13
Entity Framework 5/6
 Open Source
 Neue Datentypen: Enums, räumliche Datentypen (Geometry und
Geography)
 Table-Valued Functions
 Stored Procedures mit mehreren Ergebnissen
 Automatisch compilierte LINQ Abfragen, Optimierung der Queries
 Unterstützung für mehrere Diagramme für ein Objektmodell, Farben
 Migration von Datenbanken bei Code First
 Version 6 in Entwicklung
 Unterstützung von Stored Procedures für Code First
 Verwendung von async / await
14
Windows 8 / WinRT
 Entwicklung nur mit VS 2012 unter Windows 8
 Ist nicht .NET, aber objektorientiertes API (COM Komponente)
 Windows Runtime ersetzt Win32 für neue Anwendungen
 ca. 1800 Klassen
 Apps laufen nur unter Windows 8 (im Store)
 Keine Migration von WPF, Silverlight oder ASP.NET
 Nur Client Framework, kein Entity Framework, keine Datenbank (SQL
Light)
 Kennt auch Metadaten in Form von .winmd Files
15
Die nächste Version?
 VS 2012 Update 3 ist RC
 VS 2013 kommt noch in diesem Jahr!!!
 News an der Build
16
Aktuelle Digicomp-Kurse zum Thema
 Entwicklung von Webapplikationen mit MVC 4 (2 Tage)
www.digicomp.ch/kurse/MVC.html
 Windows 8 für WPF Entwickler (2 Tage)
 HTML 5 (1 Tag) www.digicomp.ch/kurse/HT5.html
 jQuery (2 Tage) www.digicomp.ch/kurse/IJQ.html
 Neues in .NET 4.5 und Visual Studio 2012 (2 Tage)
www.digicomp.ch/kurse/CN5.html
17
Literatur
C# 5.0 in a Nutshell Joseph & Ben Albahari
O'Reilly ISBN 978-1-449-32010-2
Async in C# 5.0 Alex Davies
O'Reilly ISBN 978-1-449-33716-2
Pro C# 5.0 and the .NET 4.5
Framework
Andrew Troelsen
Apress ISBN 978-1-4302-4233-8
Programming Windows
Writing Windows 8 Apps
Charles Petzold
Microsoft Press ISBN 978-0-7356-7176-8
Programming ASP.NET MVC 4 Jess Chadwick, Todd Snyder
O’Reilly ISBN 978-1-449-32031-7
18
Links
 Visual Studio 2012 News: http://msdn.microsoft.com/en-
us/library/bb386063.aspx
 .NET News http://msdn.microsoft.com/en-us/library/ms171868.aspx
 Windows RT http://msdn.microsoft.com/en-us/magazine/jj651567.aspx
 Kurz Videos
http://www.hanselman.com/blog/VisualStudio2012AndNETFramework
45IsRELEASEDHeres5MinuteVideosToGetYouUpToSpeedQuick.aspx
 Portable Class Library http://bit.ly/NetPCL
19

Más contenido relacionado

La actualidad más candente

WebLogic Server auf ODA: Erfahrungen aus einem Kundenprojekt
WebLogic Server auf ODA: Erfahrungen aus einem KundenprojektWebLogic Server auf ODA: Erfahrungen aus einem Kundenprojekt
WebLogic Server auf ODA: Erfahrungen aus einem Kundenprojekt
OPITZ CONSULTING Deutschland
 

La actualidad más candente (15)

Roadshow: What's new in Microsoft SQL Server 2016
Roadshow: What's new in Microsoft SQL Server 2016Roadshow: What's new in Microsoft SQL Server 2016
Roadshow: What's new in Microsoft SQL Server 2016
 
Citrix XenServer 5.6: Die Neuerungen
Citrix XenServer 5.6: Die NeuerungenCitrix XenServer 5.6: Die Neuerungen
Citrix XenServer 5.6: Die Neuerungen
 
Oracle Technology Monthly Oktober 2017
Oracle Technology Monthly Oktober 2017Oracle Technology Monthly Oktober 2017
Oracle Technology Monthly Oktober 2017
 
WebLogic Server auf ODA: Erfahrungen aus einem Kundenprojekt
WebLogic Server auf ODA: Erfahrungen aus einem KundenprojektWebLogic Server auf ODA: Erfahrungen aus einem Kundenprojekt
WebLogic Server auf ODA: Erfahrungen aus einem Kundenprojekt
 
X Tour in Hamburg
X Tour in HamburgX Tour in Hamburg
X Tour in Hamburg
 
Automatisierte Oracle Middleware Installation
Automatisierte Oracle Middleware InstallationAutomatisierte Oracle Middleware Installation
Automatisierte Oracle Middleware Installation
 
Microsoft Lizenzierung – Server
Microsoft Lizenzierung – ServerMicrosoft Lizenzierung – Server
Microsoft Lizenzierung – Server
 
Jug nbg containerplattform dcos
Jug nbg containerplattform dcosJug nbg containerplattform dcos
Jug nbg containerplattform dcos
 
OEM Cloud Control - Hochverfügbar von Kopf bis Fuß
OEM Cloud Control - Hochverfügbar von Kopf bis Fuß OEM Cloud Control - Hochverfügbar von Kopf bis Fuß
OEM Cloud Control - Hochverfügbar von Kopf bis Fuß
 
Enterprise UI
Enterprise UIEnterprise UI
Enterprise UI
 
Software Assurance Services im Überblick
Software Assurance Services im ÜberblickSoftware Assurance Services im Überblick
Software Assurance Services im Überblick
 
MK2014 FileMaker Server 13 by Thomas Hahn
MK2014 FileMaker Server 13 by Thomas HahnMK2014 FileMaker Server 13 by Thomas Hahn
MK2014 FileMaker Server 13 by Thomas Hahn
 
Windows Server 8 - eine Vorschau
Windows Server 8 - eine VorschauWindows Server 8 - eine Vorschau
Windows Server 8 - eine Vorschau
 
Citrix XenDesktop 4
Citrix XenDesktop 4Citrix XenDesktop 4
Citrix XenDesktop 4
 
#SUGDE Sitecore Gesundheit
#SUGDE Sitecore Gesundheit #SUGDE Sitecore Gesundheit
#SUGDE Sitecore Gesundheit
 

Destacado

Umstellung eines ERP-Systems von Oracle Forms 6i auf WPF
Umstellung eines ERP-Systems von Oracle Forms 6i auf WPFUmstellung eines ERP-Systems von Oracle Forms 6i auf WPF
Umstellung eines ERP-Systems von Oracle Forms 6i auf WPF
schrempp edv GmbH
 
Roadmap von Microsoft UI Technologien und Windows 8
Roadmap von Microsoft UI Technologien und Windows 8Roadmap von Microsoft UI Technologien und Windows 8
Roadmap von Microsoft UI Technologien und Windows 8
chmoser79
 
Multi Touch.Prio.Conference 2009
Multi Touch.Prio.Conference 2009Multi Touch.Prio.Conference 2009
Multi Touch.Prio.Conference 2009
Gregor Biswanger
 

Destacado (6)

Umstellung eines ERP-Systems von Oracle Forms 6i auf WPF
Umstellung eines ERP-Systems von Oracle Forms 6i auf WPFUmstellung eines ERP-Systems von Oracle Forms 6i auf WPF
Umstellung eines ERP-Systems von Oracle Forms 6i auf WPF
 
WPF Custom Controls: UX-Design and -Development @ GUI&DESIGN Conference
WPF Custom Controls: UX-Design and -Development @ GUI&DESIGN ConferenceWPF Custom Controls: UX-Design and -Development @ GUI&DESIGN Conference
WPF Custom Controls: UX-Design and -Development @ GUI&DESIGN Conference
 
WPF UI-Development Best Practices
WPF UI-Development Best PracticesWPF UI-Development Best Practices
WPF UI-Development Best Practices
 
Roadmap von Microsoft UI Technologien und Windows 8
Roadmap von Microsoft UI Technologien und Windows 8Roadmap von Microsoft UI Technologien und Windows 8
Roadmap von Microsoft UI Technologien und Windows 8
 
XAML UI DEVELOPMENT BEST PRACTICES 2.0
XAML UI DEVELOPMENT BEST PRACTICES 2.0XAML UI DEVELOPMENT BEST PRACTICES 2.0
XAML UI DEVELOPMENT BEST PRACTICES 2.0
 
Multi Touch.Prio.Conference 2009
Multi Touch.Prio.Conference 2009Multi Touch.Prio.Conference 2009
Multi Touch.Prio.Conference 2009
 

Similar a Was ist neu in .NET 4.5?

HTML5 und node.js Grundlagen
HTML5 und node.js GrundlagenHTML5 und node.js Grundlagen
HTML5 und node.js Grundlagen
Mayflower GmbH
 

Similar a Was ist neu in .NET 4.5? (20)

Fachreferat: Visual Studio 2012, Windows 8 und .NET 4.5
Fachreferat: Visual Studio 2012, Windows 8 und .NET 4.5Fachreferat: Visual Studio 2012, Windows 8 und .NET 4.5
Fachreferat: Visual Studio 2012, Windows 8 und .NET 4.5
 
Mobile Development mit ASP.NET MVC 4
Mobile Development mit ASP.NET MVC 4Mobile Development mit ASP.NET MVC 4
Mobile Development mit ASP.NET MVC 4
 
C API for Lotus Notes & Domino
C API for Lotus Notes & DominoC API for Lotus Notes & Domino
C API for Lotus Notes & Domino
 
C / C++ Api for Beginners
C / C++ Api for BeginnersC / C++ Api for Beginners
C / C++ Api for Beginners
 
Kuck mal, Node.js! Einstieg für .NET Entwickler mit Visual Studio Code und Ty...
Kuck mal, Node.js! Einstieg für .NET Entwickler mit Visual Studio Code und Ty...Kuck mal, Node.js! Einstieg für .NET Entwickler mit Visual Studio Code und Ty...
Kuck mal, Node.js! Einstieg für .NET Entwickler mit Visual Studio Code und Ty...
 
Electron.NET: Cross-Platform Desktop Software mit ASP.NET Core
Electron.NET: Cross-Platform Desktop Software mit ASP.NET CoreElectron.NET: Cross-Platform Desktop Software mit ASP.NET Core
Electron.NET: Cross-Platform Desktop Software mit ASP.NET Core
 
Net@night asp.net mvc
Net@night asp.net mvcNet@night asp.net mvc
Net@night asp.net mvc
 
Automatisierung von Windows-Anwendungen
Automatisierung von Windows-AnwendungenAutomatisierung von Windows-Anwendungen
Automatisierung von Windows-Anwendungen
 
Einführung in ASP.NET Core Middlewares
Einführung in ASP.NET Core MiddlewaresEinführung in ASP.NET Core Middlewares
Einführung in ASP.NET Core Middlewares
 
C/ C++ for Notes & Domino Developers
C/ C++ for Notes & Domino DevelopersC/ C++ for Notes & Domino Developers
C/ C++ for Notes & Domino Developers
 
Einführung in Windows Presentation Foundation
Einführung in Windows Presentation FoundationEinführung in Windows Presentation Foundation
Einführung in Windows Presentation Foundation
 
Ionic 2 - Hybridapps auf Steroiden
Ionic 2 - Hybridapps auf SteroidenIonic 2 - Hybridapps auf Steroiden
Ionic 2 - Hybridapps auf Steroiden
 
GWT – Google Web Toolkit in der Praxis
GWT – Google Web Toolkit in der PraxisGWT – Google Web Toolkit in der Praxis
GWT – Google Web Toolkit in der Praxis
 
PHP-Module in statischen Seiten - Architektur-Ansätze
PHP-Module in statischen Seiten - Architektur-AnsätzePHP-Module in statischen Seiten - Architektur-Ansätze
PHP-Module in statischen Seiten - Architektur-Ansätze
 
HTML5 und node.js Grundlagen
HTML5 und node.js GrundlagenHTML5 und node.js Grundlagen
HTML5 und node.js Grundlagen
 
.NET Summit 2016 in München: ASP.NET Core 1
.NET Summit 2016 in München: ASP.NET Core 1.NET Summit 2016 in München: ASP.NET Core 1
.NET Summit 2016 in München: ASP.NET Core 1
 
Android Entwicklung GTUG München 2009
Android Entwicklung GTUG München 2009Android Entwicklung GTUG München 2009
Android Entwicklung GTUG München 2009
 
3. Night of the pack
3. Night of the pack3. Night of the pack
3. Night of the pack
 
German: Softwareprodukte aus einem Source Code mit Javascript
German: Softwareprodukte aus einem Source Code mit JavascriptGerman: Softwareprodukte aus einem Source Code mit Javascript
German: Softwareprodukte aus einem Source Code mit Javascript
 
Android Entwicklung (App Entwickler Konferenz 2010 der Telekom)
Android Entwicklung (App Entwickler Konferenz 2010 der Telekom)Android Entwicklung (App Entwickler Konferenz 2010 der Telekom)
Android Entwicklung (App Entwickler Konferenz 2010 der Telekom)
 

Más de Digicomp Academy AG

Becoming Agile von Christian Botta – Personal Swiss Vortrag 2019
Becoming Agile von Christian Botta – Personal Swiss Vortrag 2019Becoming Agile von Christian Botta – Personal Swiss Vortrag 2019
Becoming Agile von Christian Botta – Personal Swiss Vortrag 2019
Digicomp Academy AG
 

Más de Digicomp Academy AG (20)

Becoming Agile von Christian Botta – Personal Swiss Vortrag 2019
Becoming Agile von Christian Botta – Personal Swiss Vortrag 2019Becoming Agile von Christian Botta – Personal Swiss Vortrag 2019
Becoming Agile von Christian Botta – Personal Swiss Vortrag 2019
 
Swiss IPv6 Council – Case Study - Deployment von IPv6 in einer Container Plat...
Swiss IPv6 Council – Case Study - Deployment von IPv6 in einer Container Plat...Swiss IPv6 Council – Case Study - Deployment von IPv6 in einer Container Plat...
Swiss IPv6 Council – Case Study - Deployment von IPv6 in einer Container Plat...
 
Innovation durch kollaboration gennex 2018
Innovation durch kollaboration gennex 2018Innovation durch kollaboration gennex 2018
Innovation durch kollaboration gennex 2018
 
Roger basler meetup_digitale-geschaeftsmodelle-entwickeln_handout
Roger basler meetup_digitale-geschaeftsmodelle-entwickeln_handoutRoger basler meetup_digitale-geschaeftsmodelle-entwickeln_handout
Roger basler meetup_digitale-geschaeftsmodelle-entwickeln_handout
 
Roger basler meetup_21082018_work-smarter-not-harder_handout
Roger basler meetup_21082018_work-smarter-not-harder_handoutRoger basler meetup_21082018_work-smarter-not-harder_handout
Roger basler meetup_21082018_work-smarter-not-harder_handout
 
Xing expertendialog zu nudge unit x
Xing expertendialog zu nudge unit xXing expertendialog zu nudge unit x
Xing expertendialog zu nudge unit x
 
Responsive Organisation auf Basis der Holacracy – nur ein Hype oder die Zukunft?
Responsive Organisation auf Basis der Holacracy – nur ein Hype oder die Zukunft?Responsive Organisation auf Basis der Holacracy – nur ein Hype oder die Zukunft?
Responsive Organisation auf Basis der Holacracy – nur ein Hype oder die Zukunft?
 
IPv6 Security Talk mit Joe Klein
IPv6 Security Talk mit Joe KleinIPv6 Security Talk mit Joe Klein
IPv6 Security Talk mit Joe Klein
 
Agiles Management - Wie geht das?
Agiles Management - Wie geht das?Agiles Management - Wie geht das?
Agiles Management - Wie geht das?
 
Gewinnen Sie Menschen und Ziele - Referat von Andi Odermatt
Gewinnen Sie Menschen und Ziele - Referat von Andi OdermattGewinnen Sie Menschen und Ziele - Referat von Andi Odermatt
Gewinnen Sie Menschen und Ziele - Referat von Andi Odermatt
 
Querdenken mit Kreativitätsmethoden – XING Expertendialog
Querdenken mit Kreativitätsmethoden – XING ExpertendialogQuerdenken mit Kreativitätsmethoden – XING Expertendialog
Querdenken mit Kreativitätsmethoden – XING Expertendialog
 
Xing LearningZ: Digitale Geschäftsmodelle entwickeln
Xing LearningZ: Digitale Geschäftsmodelle entwickelnXing LearningZ: Digitale Geschäftsmodelle entwickeln
Xing LearningZ: Digitale Geschäftsmodelle entwickeln
 
Swiss IPv6 Council: The Cisco-Journey to an IPv6-only Building
Swiss IPv6 Council: The Cisco-Journey to an IPv6-only BuildingSwiss IPv6 Council: The Cisco-Journey to an IPv6-only Building
Swiss IPv6 Council: The Cisco-Journey to an IPv6-only Building
 
UX – Schlüssel zum Erfolg im Digital Business
UX – Schlüssel zum Erfolg im Digital BusinessUX – Schlüssel zum Erfolg im Digital Business
UX – Schlüssel zum Erfolg im Digital Business
 
Minenfeld IPv6
Minenfeld IPv6Minenfeld IPv6
Minenfeld IPv6
 
Was ist design thinking
Was ist design thinkingWas ist design thinking
Was ist design thinking
 
Die IPv6 Journey der ETH Zürich
Die IPv6 Journey der ETH Zürich Die IPv6 Journey der ETH Zürich
Die IPv6 Journey der ETH Zürich
 
Xing LearningZ: Die 10 + 1 Trends im (E-)Commerce
Xing LearningZ: Die 10 + 1 Trends im (E-)CommerceXing LearningZ: Die 10 + 1 Trends im (E-)Commerce
Xing LearningZ: Die 10 + 1 Trends im (E-)Commerce
 
Zahlen Battle: klassische werbung vs.online-werbung-somexcloud
Zahlen Battle: klassische werbung vs.online-werbung-somexcloudZahlen Battle: klassische werbung vs.online-werbung-somexcloud
Zahlen Battle: klassische werbung vs.online-werbung-somexcloud
 
General data protection regulation-slides
General data protection regulation-slidesGeneral data protection regulation-slides
General data protection regulation-slides
 

Was ist neu in .NET 4.5?

  • 1. Was ist neu in .NET 4.5? Hans Peter Bornhauser, Noser Engineering AG Fachbereichsleiter .NET, Digicomp AG 1
  • 2. Der Referent: Hans Peter Bornhauser  Dipl. Ing ETH  Software Architect, Senior Software Engineer, Consultant and Trainer bei Noser Engineering AG in Winterthur  Fachbereichsleiter .NET bei Digicomp  12 Jahre Webentwicklung mit .NET (seit Beta 1.0)  ASP.NET Webforms und MVC  WPF und Silverlight  WCF und Entity Framework  Windows 8 Apps (search.ch, Family Trips)  div. Microsoft Zertifikate  MCPD Web + Windows  MCPD Silverlight + Azure  MCSD Web Applications .NET 4.5  MCT (Certified Trainer) 2
  • 3. .NET Generationen 3 Managed Code Generics Language Integrated Query Dynamic + (Language Parity) C# 5.0 + VB 11.0 Windows 8 Runtime + Asynchrony C# 1.0 + VB 7.0 C# 2.0 + VB 8.0 C# 3.0 + VB 9.0 C# 4.0 + VB 10.0
  • 4. .NET 4.5 / Visual Studio 2012 News 4
  • 5. Was ist wirklich neu?  Einfache asynchrone Aufrufe (async/await)  Verbesserungen am Parallel Framework  Windows 8 Apps  XAML/C# oder HTML5/CSS3 und JavaScript  Expression Blend kann HTML und CSS, Bestandteil von Visual Studio 2012 (aber nur für Windows 8 Apps)  Portable Klassenbibliotheken (für .NET, Silverlight, Phone, XBox und Windows 8)  Testmanager  Lightswitch integriert  Verbesserte HTML 5 / CSS / JavaScript Editoren, Page Inspector 5
  • 6. Was fällt weg?  Macros  Client Profile für .NET Framework  Windows Installer Projekte  Keine Unterstützung für Windows XP (.NET 4.5) 6
  • 8. Async. Pattern BeginXXX / EndXXX 8 C# Visual Basic .NET private void OnDownloadClick(object sender, EventArgs e) { WebRequest request = WebRequest.Create("http://www.digicomp.ch"); // Request in Hintergrundthread ausführen, Referenz als State-Parameter übergeben request.BeginGetResponse(new AsyncCallback(GetResponseCallback), request); } // Callback-Methode für die abschließende Behandlung private void GetResponseCallback(IAsyncResult asyncResult) { WebRequest request = (WebRequest)asyncResult.AsyncState; WebResponse response = request.EndGetResponse(asyncResult); string t = response.ContentType; long n = response.ContentLength; // Control.Invoke für Zugriff auf Steuerelemente this.Invoke(new ShowInfoDelegate(ShowInfo), "ContentType: " + t + ", ContentLength: " + n); } private delegate void ShowInfoDelegate(string text); private void ShowInfo(string text) // Hilfsmethode vom GUI-Thread ausgeführt { BeginXXXInfo.Text = text; }
  • 9. Async. Pattern .NET 2.0 9 C# Visual Basic .NET private void OnDownloadClick(object sender, EventArgs e) { // WebClient instanzieren WebClient webClient = new WebClient(); // Eventhandler binden webClient.DownloadStringCompleted += new DownloadStringCompletedEventHandler(webClient_DownloadStringCompleted); // Methode aufrufen webClient.DownloadStringAsync(new Uri("http://www.dotnetpro.de")); } void webClient_DownloadStringCompleted(object sender, DownloadStringCompletedEventArgs e) { // Der Eventhandler darf unmittelbar auf die Steuerelemente zugreifen WebsiteContent.Text = e.Result;
  • 10. Asynchrone Methoden  Modell 1. Alles nach await wird in eine eigene Methode verschoben 2. Es gibt eine neue Methode DownloadStringTaskAsync, welche das gleiche macht wie das Original, aber asynchron ist. 3. Nach dem Aufruf von DownloadStringTaskAsync wir die Methode beendet und an den Aufrufer zurückgegeben. 4. Die 2. Hälfte der Methode wird aufgerufen, wenn der asynchrone Teil fertig ist. C# Visual Basic .NET private async void OnLoadWebPageClickAsync(object sender, EventArgs e) { WebClient webClient = new WebClient(); WebsiteContent.Text = await webClient.DownloadStringTaskAsync("http://www.digicomp.ch"); }
  • 11. Web Entwickler  AntiXSS  Bundling + Minification  Web API  Web Sockets Unterstützung (nur IIS 8 und IE10), SignalR  Model Binding für WebForms (ähnlich ASP.NET MVC)  Typisiertes Data Binding  Unterstützung für mobile Devices  Page Inspector 11
  • 12. WPF Entwickler  Neue Controls  Ribbon (RibbonWindow / RibbonButton / RibbonGroup, ...)  Virtualizing Panel  Verbesserungen im Data Binding  Markup Extensions für Ereignisse  Verzögerte Synchronisation beim Data Binding  Bindung an statische Eigenschaften  INotifyDataErrorInfo für asynchrone Validierung auf dem Server  Verbessertes Threading  Thread Synchronisation für ObservableCollections  Erweiterungen der Dispatcher Klasse (async. Methoden)  Weak Event Pattern  Verbesserte Interoperabilität mit Windows Forms 12
  • 13. WCF Entwickler  Konfiguration entschlackt, Validierung und Intellisense  Unterstützung für async / await  Neue Bindings  basicHttpsBinding  udpBinding  Web API ( = webHttpBinding + MVC)  WebSockets 13
  • 14. Entity Framework 5/6  Open Source  Neue Datentypen: Enums, räumliche Datentypen (Geometry und Geography)  Table-Valued Functions  Stored Procedures mit mehreren Ergebnissen  Automatisch compilierte LINQ Abfragen, Optimierung der Queries  Unterstützung für mehrere Diagramme für ein Objektmodell, Farben  Migration von Datenbanken bei Code First  Version 6 in Entwicklung  Unterstützung von Stored Procedures für Code First  Verwendung von async / await 14
  • 15. Windows 8 / WinRT  Entwicklung nur mit VS 2012 unter Windows 8  Ist nicht .NET, aber objektorientiertes API (COM Komponente)  Windows Runtime ersetzt Win32 für neue Anwendungen  ca. 1800 Klassen  Apps laufen nur unter Windows 8 (im Store)  Keine Migration von WPF, Silverlight oder ASP.NET  Nur Client Framework, kein Entity Framework, keine Datenbank (SQL Light)  Kennt auch Metadaten in Form von .winmd Files 15
  • 16. Die nächste Version?  VS 2012 Update 3 ist RC  VS 2013 kommt noch in diesem Jahr!!!  News an der Build 16
  • 17. Aktuelle Digicomp-Kurse zum Thema  Entwicklung von Webapplikationen mit MVC 4 (2 Tage) www.digicomp.ch/kurse/MVC.html  Windows 8 für WPF Entwickler (2 Tage)  HTML 5 (1 Tag) www.digicomp.ch/kurse/HT5.html  jQuery (2 Tage) www.digicomp.ch/kurse/IJQ.html  Neues in .NET 4.5 und Visual Studio 2012 (2 Tage) www.digicomp.ch/kurse/CN5.html 17
  • 18. Literatur C# 5.0 in a Nutshell Joseph & Ben Albahari O'Reilly ISBN 978-1-449-32010-2 Async in C# 5.0 Alex Davies O'Reilly ISBN 978-1-449-33716-2 Pro C# 5.0 and the .NET 4.5 Framework Andrew Troelsen Apress ISBN 978-1-4302-4233-8 Programming Windows Writing Windows 8 Apps Charles Petzold Microsoft Press ISBN 978-0-7356-7176-8 Programming ASP.NET MVC 4 Jess Chadwick, Todd Snyder O’Reilly ISBN 978-1-449-32031-7 18
  • 19. Links  Visual Studio 2012 News: http://msdn.microsoft.com/en- us/library/bb386063.aspx  .NET News http://msdn.microsoft.com/en-us/library/ms171868.aspx  Windows RT http://msdn.microsoft.com/en-us/magazine/jj651567.aspx  Kurz Videos http://www.hanselman.com/blog/VisualStudio2012AndNETFramework 45IsRELEASEDHeres5MinuteVideosToGetYouUpToSpeedQuick.aspx  Portable Class Library http://bit.ly/NetPCL 19