Upload
others
View
3
Download
0
Embed Size (px)
Citation preview
26.06.2016
1
1
Herzlich willkommen zum DevDay Zürich 2016
Was ist alles neu in ASP.NET Core?
Hans Peter Bornhauser
3
Referent: Hans Peter Bornhauser
Dipl. Ing ETH
Software-Architekt, Senior Software Engineer, Beraterund Trainer bei Noser Engineering AG in Winterthur
.NET-Trainer bei Digicomp
15 Jahre Erfahrung in der .NET-Entwicklung (seit Beta 1.0)
ASP.NET MVC
WPF
WCF und Entity Framework
Microsoft Certifications
MCSD Web Applications .NET 4.5
MCT (Certified Trainer)
26.06.2016
2
5
6
.NET today...
26.06.2016
3
7
.NET tomorrow ??
8
Mehrere CLR (Common Language Runtime)
Full .NET CLR
Standard für Rückwärtskompatibilität
Core CLR (cloud-optimized)
CLR ist modular, basierend auf NuGet packages
Cross-Platform CLR
Läuft auf Linux und Mac OSX
26.06.2016
4
9
Time to say good-bye to ...
Web Forms
web.config und .csproj
global.asax
Bundling and Minification
Razor (aber nur teilweise)
Visual Basic (noch nicht)
10
Configuration web.config
appsettings.json
{
"ConnectionStrings": {
"JsonConnectionString": "Server=.;Database=Db;..."
}
}
appsettings.xml
<config>
<ConnectionStrings>
<XmlConnectionString>Server=.;Database=Db;...</XmlConnectionString>
</ConnectionStrings>
</config>
appsettings.ini
[ConnectionStrings]
IniConnectionString = Server=.;Database=Db;...
26.06.2016
5
11
Startup.cs global.asax
public class Startup
{
public void ConfigureServices(IServiceCollection services)
{
// Definition der verwendeten Services
}
public void Configure(IApplicationBuilder app)
{
// Konfiguration der Middleware (Request Pipeline)
}
}
12
Demo
26.06.2016
6
13
ASP.NET Core ist eine Consolen App
14
Dependency Injection
Eingebauter Mini-IoC (Inversion of Control)
1. Injection in Constructor: public HomeController(ITimeService timeService)
2. Injection in Razor Views @inject
4 Varianten um Objekt zu erzeugen
1. Transient: neue Instanz bei jeder Verwendung
2. Scoped: Instanz per Scope (Session)
3. Instance: Einmal erzeugen beim Programmstart
4. Singleton: Instanz automatisch anlegen bei erstmaliger Verwendung
26.06.2016
7
15
Demo Dependency Injection
16
HTML Helpers => Tag Helpers
26.06.2016
8
17
View Components
Ähnlich wie Partial Views, aber viel leistungsfähiger
View Components sind wie Mini Controllers; rendern nur einen Teil, nicht eine ganze Seite
Dynamische Menus für Navigation
Tag cloud
Login Panel
Shopping Cart
View-Fragmente dazu liegen im Ordner Components
18
Demo View Components
@Html.Action("widget") => @Component.InvokeAsync("widget")
26.06.2016
9
19
Betrieb auf IIS
23
Was sind OWIN und Katana?
OWIN: Open Web Interface for .NET
Definiert eine Standard-Schnittstelle zwischen .NET Webserver und
Webapplikationen
Ziel: Entkopplung der Webapplikation vom Server mit einer Abstraktionsschicht
Definiert eine Pipeline von Modulen, die ein Request
durchläuft
Katana: OWIN Implementation für Microsoft Servers
und Frameworks
Komponenten von Microsoft, welche die
OWIN-Spezifikationen erfüllen
26.06.2016
10
24
Was ist mit Web Forms?
Nur noch in .NET 4.6
Unterstützung von HTTP2
Fokus auf bessere Performance
Nur noch eine TCP-Verbindung
Header-Kompression
Kann Antworten zum Client pushen (z.B. Bilder)
Async Model Binding
Roslyn CodeDOM Compilers
25
Wann kommt ASP.NET Core?
16. Mai RC2
27. Juni Release 1.0
Danach
Visual Basic Support
SignalR 3
Web Pages 4
26.06.2016
11
26
Summary ASP.NET Core
Open-source
Cross-platform
Modular
Schlank
Performant
Neue Solution/Projektstruktur
F&A
27
Weiterführende Kurse
Neues in .NET Core und Visual Studio 2015 (CN6)
2 Tage
CHF 1’500.-
Nächster Termin: 8.9.2016
https://www.digicomp.ch/weiterbildung/softwareentwicklung/microsoft-net/microsoft-net-framework/neues-in-net-4-6-und-visual-studio-2015
Entwicklung von Webapplikationen mit ASP.NET MVC 5 (MVC)
2 Tage
CHF 1’700.-
Nächster Termin: 18.-19.8.2016
https://www.digicomp.ch/weiterbildung/softwareentwicklung/microsoft-net/web-entwicklung-mit-net/entwicklung-von-webapplikationen-mit-mvc-5
Entwicklung von Webapplikationen mit ASP.NET Core
2 Tage
Demnächst verfügbar
26.06.2016
12
28
Referenzen
ASP.NET Core Home http://www.asp.net/core
.NET Cross Platform https://msdn.microsoft.com/en-us/magazine/mt694084
ASP.NET Core documentation http://docs.asp.net
ASP.NET Core on IIS https://weblog.west-wind.com/posts/2016/Jun/06/Publishing-and-
Running-ASPNET-Core-Applications-with-IIS