asp.net vnext: was ist alles neu? hans peter...
TRANSCRIPT
![Page 1: ASP.NET vNext: was ist alles neu? Hans Peter Bornhauserdigiblog.s3-eu-central-1.amazonaws.com/app/1446644377/22...OWIN und Katana Digicomp Microsoft Evolution Day 2015 3 Referent:](https://reader035.vdocuments.site/reader035/viewer/2022070108/602d8c512beb3d7a8c7df44c/html5/thumbnails/1.jpg)
Digicomp Microsoft Evolution Day 2015 1
ASP.NET vNext: was ist alles neu?
Hans Peter Bornhauser
Partner:
![Page 2: ASP.NET vNext: was ist alles neu? Hans Peter Bornhauserdigiblog.s3-eu-central-1.amazonaws.com/app/1446644377/22...OWIN und Katana Digicomp Microsoft Evolution Day 2015 3 Referent:](https://reader035.vdocuments.site/reader035/viewer/2022070108/602d8c512beb3d7a8c7df44c/html5/thumbnails/2.jpg)
2Digicomp Microsoft Evolution Day 2015
Agenda ASP.NET 5
Was enthält es?
.NET 2015 Architektur
Konfiguration
Dependendy Injection
HTML Helpers
View Components
OWIN und Katana
![Page 3: ASP.NET vNext: was ist alles neu? Hans Peter Bornhauserdigiblog.s3-eu-central-1.amazonaws.com/app/1446644377/22...OWIN und Katana Digicomp Microsoft Evolution Day 2015 3 Referent:](https://reader035.vdocuments.site/reader035/viewer/2022070108/602d8c512beb3d7a8c7df44c/html5/thumbnails/3.jpg)
3Digicomp Microsoft Evolution Day 2015
Referent: Hans Peter Bornhauser
Dipl. Ing ETH
Software Architekt, Senior Software Engineer, Beraterund Trainer bei Noser Engineering AG in Winterthur
.NET Trainer bei Digicomp
14 Jahre Erfahrung in.NET Entwicklung(seit Beta 1.0)
ASP.NET MVC
WPF und Silverlight
WCF und Entity Framework
Microsoft Certifications
MCSD Web Applications .NET 4.5
MCT (Certified Trainer)
![Page 4: ASP.NET vNext: was ist alles neu? Hans Peter Bornhauserdigiblog.s3-eu-central-1.amazonaws.com/app/1446644377/22...OWIN und Katana Digicomp Microsoft Evolution Day 2015 3 Referent:](https://reader035.vdocuments.site/reader035/viewer/2022070108/602d8c512beb3d7a8c7df44c/html5/thumbnails/4.jpg)
4Digicomp Microsoft Evolution Day 2015
Was ist ASP.NET 5?
ASP.NET vNext == ASP.NET 5 == ASP.NET MVC 6
Läuft auf .NET 4.6 und .NET Core (optimiert für Server, kleiner Footprint)
Komplett neue, flexible, cross-platform Runtime (auch auf Mac OSX und Linux)
Einheitliches Programmiermodell für MVC, Web API und Web Pages
Neue modulare HTTP Request Pipeline (OWIN)
Cloud-ready Konfiguration
Open source auf GitHub
Kommt zusammen mit EF7
![Page 5: ASP.NET vNext: was ist alles neu? Hans Peter Bornhauserdigiblog.s3-eu-central-1.amazonaws.com/app/1446644377/22...OWIN und Katana Digicomp Microsoft Evolution Day 2015 3 Referent:](https://reader035.vdocuments.site/reader035/viewer/2022070108/602d8c512beb3d7a8c7df44c/html5/thumbnails/5.jpg)
5Digicomp Microsoft Evolution Day 2015
.NET 2015 Architektur
![Page 6: ASP.NET vNext: was ist alles neu? Hans Peter Bornhauserdigiblog.s3-eu-central-1.amazonaws.com/app/1446644377/22...OWIN und Katana Digicomp Microsoft Evolution Day 2015 3 Referent:](https://reader035.vdocuments.site/reader035/viewer/2022070108/602d8c512beb3d7a8c7df44c/html5/thumbnails/6.jpg)
6Digicomp Microsoft Evolution Day 2015
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
![Page 7: ASP.NET vNext: was ist alles neu? Hans Peter Bornhauserdigiblog.s3-eu-central-1.amazonaws.com/app/1446644377/22...OWIN und Katana Digicomp Microsoft Evolution Day 2015 3 Referent:](https://reader035.vdocuments.site/reader035/viewer/2022070108/602d8c512beb3d7a8c7df44c/html5/thumbnails/7.jpg)
7Digicomp Microsoft Evolution Day 2015
Time to say good-bye to ...
Web Forms
web.config und .csproj
global.asax
Bundling and Minification
Razor (aber nur teilweise)
Internet Explorer
Visual Basic (noch nicht)
![Page 8: ASP.NET vNext: was ist alles neu? Hans Peter Bornhauserdigiblog.s3-eu-central-1.amazonaws.com/app/1446644377/22...OWIN und Katana Digicomp Microsoft Evolution Day 2015 3 Referent:](https://reader035.vdocuments.site/reader035/viewer/2022070108/602d8c512beb3d7a8c7df44c/html5/thumbnails/8.jpg)
8Digicomp Microsoft Evolution Day 2015
Demo
![Page 9: ASP.NET vNext: was ist alles neu? Hans Peter Bornhauserdigiblog.s3-eu-central-1.amazonaws.com/app/1446644377/22...OWIN und Katana Digicomp Microsoft Evolution Day 2015 3 Referent:](https://reader035.vdocuments.site/reader035/viewer/2022070108/602d8c512beb3d7a8c7df44c/html5/thumbnails/9.jpg)
9Digicomp Microsoft Evolution Day 2015
Configuration
config.json
{
"ConnectionStrings": {
"JsonConnectionString": "json connection string"
}
}
config.xml
<config>
<ConnectionStrings>
<XmlConnectionString>xml connection string</XmlConnectionString>
</ConnectionStrings>
</config>
config.ini
[ConnectionStrings]
IniConnectionString = ini connection string
![Page 10: ASP.NET vNext: was ist alles neu? Hans Peter Bornhauserdigiblog.s3-eu-central-1.amazonaws.com/app/1446644377/22...OWIN und Katana Digicomp Microsoft Evolution Day 2015 3 Referent:](https://reader035.vdocuments.site/reader035/viewer/2022070108/602d8c512beb3d7a8c7df44c/html5/thumbnails/10.jpg)
10Digicomp Microsoft Evolution Day 2015
Startup.cs
public class Startup
{
public void ConfigureServices(IServiceCollection services)
{
// Definition der verwendeten Services
}
public void Configure(IApplicationBuilder app)
{
// Definition der Middleware (Request Pipeline)
}
}
![Page 11: ASP.NET vNext: was ist alles neu? Hans Peter Bornhauserdigiblog.s3-eu-central-1.amazonaws.com/app/1446644377/22...OWIN und Katana Digicomp Microsoft Evolution Day 2015 3 Referent:](https://reader035.vdocuments.site/reader035/viewer/2022070108/602d8c512beb3d7a8c7df44c/html5/thumbnails/11.jpg)
11Digicomp Microsoft Evolution Day 2015
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 Programstart
4. Singleton: Instanz automatisch anlegen bei erstmaliger Verwendung
![Page 12: ASP.NET vNext: was ist alles neu? Hans Peter Bornhauserdigiblog.s3-eu-central-1.amazonaws.com/app/1446644377/22...OWIN und Katana Digicomp Microsoft Evolution Day 2015 3 Referent:](https://reader035.vdocuments.site/reader035/viewer/2022070108/602d8c512beb3d7a8c7df44c/html5/thumbnails/12.jpg)
12Digicomp Microsoft Evolution Day 2015
Demo Dependency Injection
![Page 13: ASP.NET vNext: was ist alles neu? Hans Peter Bornhauserdigiblog.s3-eu-central-1.amazonaws.com/app/1446644377/22...OWIN und Katana Digicomp Microsoft Evolution Day 2015 3 Referent:](https://reader035.vdocuments.site/reader035/viewer/2022070108/602d8c512beb3d7a8c7df44c/html5/thumbnails/13.jpg)
13Digicomp Microsoft Evolution Day 2015
HTML Helpers => Tag Helpers
@Html.ValidationSummary(true, "", new { @class = "text-danger" })
<div class="form-group">
@Html.LabelFor(m => m.UserName, new { @class = "col-md-2 control-label" })
<div class="col-md-10">
@Html.TextBoxFor(m => m.UserName, new { @class = "form-control" })
@Html.ValidationMessageFor(m => m.UserName, "", new { @class = "text-danger" })
</div>
</div><div asp-validation-summary="ModelOnly" class="text-danger" /><div class="form-group">
<label asp-for="UserName" class="col-md-2 control-label" /><div class="col-md-10">
<input asp-for="UserName" class="form-control" /><span asp-validation-for="UserName" class="text-danger" />
</div></div>
![Page 14: ASP.NET vNext: was ist alles neu? Hans Peter Bornhauserdigiblog.s3-eu-central-1.amazonaws.com/app/1446644377/22...OWIN und Katana Digicomp Microsoft Evolution Day 2015 3 Referent:](https://reader035.vdocuments.site/reader035/viewer/2022070108/602d8c512beb3d7a8c7df44c/html5/thumbnails/14.jpg)
14Digicomp Microsoft Evolution Day 2015
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
![Page 15: ASP.NET vNext: was ist alles neu? Hans Peter Bornhauserdigiblog.s3-eu-central-1.amazonaws.com/app/1446644377/22...OWIN und Katana Digicomp Microsoft Evolution Day 2015 3 Referent:](https://reader035.vdocuments.site/reader035/viewer/2022070108/602d8c512beb3d7a8c7df44c/html5/thumbnails/15.jpg)
15Digicomp Microsoft Evolution Day 2015
Demo View Components
@Html.Action("widget") => @Component.Invoke("widget")
![Page 16: ASP.NET vNext: was ist alles neu? Hans Peter Bornhauserdigiblog.s3-eu-central-1.amazonaws.com/app/1446644377/22...OWIN und Katana Digicomp Microsoft Evolution Day 2015 3 Referent:](https://reader035.vdocuments.site/reader035/viewer/2022070108/602d8c512beb3d7a8c7df44c/html5/thumbnails/16.jpg)
16Digicomp Microsoft Evolution Day 2015
Resource und Exception Filter
![Page 17: ASP.NET vNext: was ist alles neu? Hans Peter Bornhauserdigiblog.s3-eu-central-1.amazonaws.com/app/1446644377/22...OWIN und Katana Digicomp Microsoft Evolution Day 2015 3 Referent:](https://reader035.vdocuments.site/reader035/viewer/2022070108/602d8c512beb3d7a8c7df44c/html5/thumbnails/17.jpg)
17Digicomp Microsoft Evolution Day 2015
ExceptionFilter
public class CustomLoggingExceptionFilter : ExceptionFilterAttribute{
private readonly ILogger _logger;
public CustomLoggingExceptionFilter(ILoggerFactory loggerFactory){
_logger = loggerFactory.CreateLogger("CustomOneLoggingExceptionFilter");}
public override void OnException(ExceptionContext context){
_logger.LogInformation("OnActionExecuting");base.OnException(context);
}
//public override Task OnExceptionAsync(ExceptionContext context)//{// _logger.LogInformation("OnActionExecuting async");// return base.OnExceptionAsync(context);//}
}
![Page 18: ASP.NET vNext: was ist alles neu? Hans Peter Bornhauserdigiblog.s3-eu-central-1.amazonaws.com/app/1446644377/22...OWIN und Katana Digicomp Microsoft Evolution Day 2015 3 Referent:](https://reader035.vdocuments.site/reader035/viewer/2022070108/602d8c512beb3d7a8c7df44c/html5/thumbnails/18.jpg)
18Digicomp Microsoft Evolution Day 2015
Resource Filter
public class CustomResourceFilter : IResourceFilter{
private readonly ILogger _logger;
public CustomResourceFilter(ILoggerFactory loggerFactory){
_logger = loggerFactory.CreateLogger("CustomResourceFilter");}
public void OnResourceExecuting(ResourceExecutingContext context){
_logger.LogInformation("OnResourceExecuting");}
public void OnResourceExecuted(ResourceExecutedContext context){
_logger.LogInformation("OnResourceExecuted");}
}
![Page 19: ASP.NET vNext: was ist alles neu? Hans Peter Bornhauserdigiblog.s3-eu-central-1.amazonaws.com/app/1446644377/22...OWIN und Katana Digicomp Microsoft Evolution Day 2015 3 Referent:](https://reader035.vdocuments.site/reader035/viewer/2022070108/602d8c512beb3d7a8c7df44c/html5/thumbnails/19.jpg)
19Digicomp Microsoft Evolution Day 2015
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
![Page 20: ASP.NET vNext: was ist alles neu? Hans Peter Bornhauserdigiblog.s3-eu-central-1.amazonaws.com/app/1446644377/22...OWIN und Katana Digicomp Microsoft Evolution Day 2015 3 Referent:](https://reader035.vdocuments.site/reader035/viewer/2022070108/602d8c512beb3d7a8c7df44c/html5/thumbnails/20.jpg)
20Digicomp Microsoft Evolution Day 2015
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
![Page 21: ASP.NET vNext: was ist alles neu? Hans Peter Bornhauserdigiblog.s3-eu-central-1.amazonaws.com/app/1446644377/22...OWIN und Katana Digicomp Microsoft Evolution Day 2015 3 Referent:](https://reader035.vdocuments.site/reader035/viewer/2022070108/602d8c512beb3d7a8c7df44c/html5/thumbnails/21.jpg)
21Digicomp Microsoft Evolution Day 2015
Wann kommt ASP.NET 5?
15.10.15: Beta 8 Feature Complete
Nov. 15: RC1
Q1 / 2016: Release 1.0
danach
Visual Basic Support
SignalR 3
Web Pages 4
![Page 22: ASP.NET vNext: was ist alles neu? Hans Peter Bornhauserdigiblog.s3-eu-central-1.amazonaws.com/app/1446644377/22...OWIN und Katana Digicomp Microsoft Evolution Day 2015 3 Referent:](https://reader035.vdocuments.site/reader035/viewer/2022070108/602d8c512beb3d7a8c7df44c/html5/thumbnails/22.jpg)
22Digicomp Microsoft Evolution Day 2015
F&A
![Page 23: ASP.NET vNext: was ist alles neu? Hans Peter Bornhauserdigiblog.s3-eu-central-1.amazonaws.com/app/1446644377/22...OWIN und Katana Digicomp Microsoft Evolution Day 2015 3 Referent:](https://reader035.vdocuments.site/reader035/viewer/2022070108/602d8c512beb3d7a8c7df44c/html5/thumbnails/23.jpg)
23Digicomp Microsoft Evolution Day 2015
Weiterführende Kurse
Neues in .NET 4.6 und Visual Studio 2015 (CN6)
1 Tag
CHF 800.-
Nächster Termin: 17.11.2015
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: 12.-13.11.2015
https://www.digicomp.ch/weiterbildung/softwareentwicklung/microsoft-net/web-entwicklung-mit-net/entwicklung-von-webapplikationen-mit-mvc-5
![Page 24: ASP.NET vNext: was ist alles neu? Hans Peter Bornhauserdigiblog.s3-eu-central-1.amazonaws.com/app/1446644377/22...OWIN und Katana Digicomp Microsoft Evolution Day 2015 3 Referent:](https://reader035.vdocuments.site/reader035/viewer/2022070108/602d8c512beb3d7a8c7df44c/html5/thumbnails/24.jpg)
24Digicomp Microsoft Evolution Day 2015
Referenzen
http://www.asp.net/vnext
http://blogs.msdn.com/b/webdev/archive/2015/02/23/aspnet-5-updates-for-feb-2015.aspx
http://www.tugberkugurlu.com/archive/exciting-things-about-asp-net-vnext-series-the-ultimate-guide
ASP.NET 5 Runtime https://msdn.microsoft.com/de-de/magazine/dn913182.aspx
http://channel9.msdn.com/Shows/Web+Camps+TV/5-Things-about-ASPNET-5-that-will-Blow-your-Mind
Client Dev. mit Gulp, Grunt, ... http://docs.asp.net/en/latest/client-side/index.html