Advanced customisations to ASP.NET Core to "make it dance our tune".
This is a presentation we did for Microsoft Advanced Technology Day 2016 in Zagreb, Croatia. The presentation goes into details on advanced customisations to ASP.NET Core.
It reveals the world of ASP.NET Core Conventions, Application parts, Feature providers, customised pipeline and middleware and other.
Offical presentation introduction:
Kako napraviti da ASP.NET Core pleše u našem ritmu?
Svaki framework pa tako i ASP.NET Core dolazi sa pretpostavkama rada i standardiziranim mehanizmima pomoću kojih ostvaruje funkcionalnosti koje nam pruža. Međutim, ponekad nam zapravo treba upravo nešto drugo, neka nijansa postojeće funkcionalnosti ili proširivost točno u smjeru koji nas zanima. Kako iskoristiti neke od naprednih mogućnosti ASP.NET Core-a u našu korist, kako iskoristiti dostupne točke proširenja...jednostavno, kako napraviti da ASP.NET Core pleše u našem ritmu? Da bi saznali, pridružite nam se na ovom predavanju u kojem ćemo naše vrijeme provesti u Visual Studiu.
Github source code can be found at:
https://github.com/netmedia/atd2016-aspnet-core-advanced-demo
3. Kako napraviti da ASP.NET Core
pleše u našem ritmu?
Vladan Strigo
NETmedia
4. • Što je uopće ASP.NET Core?
• Kako pleše Core?
• Zaplešimo zajedno
5. Što je uopće ASP.NET Core?
• Potpuno modularna platforma napisana iz nule
• Trenutno nema Web Forms kao takav
• MVC je samo modul platforme
• MVC i WebApi su sad jedno
• Umjesto ASP.NET 5 moduli unutar ASP.NET Core 1.0
• Sinoć izašao ASP.NET Core 1.1!
6. Kako pleše Core?
ASP.NET Core je KONZOLNA aplikacija!
Internet
PROXY
IIS
Apache
NGINX
…
Kestrel
Kestrel
Kestrel
10. Kako pleše Core? Konvencije
• ASP.NET Core sad ima ApplicationModel
• Kontroleri, akcije, parametari, atribut rute, filteri
• Dijelovi modela promjenjivi kroz konvencije
• IApplicationModelConvention,
• IControllerModelConvention,
• IActionModelConvention,
• IParameterModelConvention
• Postojeće funkcionalnosti također kao konvencije
• http://github.com/aspnet/mvc/ search ”WebApiCompatShimOptionsSetup”
13. Kako pleše Core? ApplicationParts
• ApplicationPartManager
• Sve komponente koje Core MVC otkriva, otkriva kroz ovu funkcionalnost
• Kontroleri, View komponente, Tag helperi, Razor reference
• Application Parts su resursi (najčešće Assembly) iz kojih se dobiju
Features
• Ako želimo povezati još neki radi nekog controllera, view komponente, onda ga tu dodajemo
• Feature providers popunjavaju aplikaciju iz pojedinih Application Parts
sa funkcionalnostima
• Ako je Application Part naš eksterni Assembly, Feature provider bi imao zadaću prepoznati sve
Controlleru u njemu prema nekim preduvjetima