ASP.NET MVC6 – Zápisky z MVP Summitu 2014 (non-NDA session)

Protože session o MVC6 na Microsoft MVP Summitu není pod NDA, vystavuji rovnou svoje neformální „raw“ zápisky.

Základní info

MVC6 = MVC + WebAPI + Web Pages (unifikace do jednoho společného API)

Build on ASP.NET 5

  • poběží na .NET core s jeho podporou side-by-side verzování
  • cross-platform
  • IIS/self-hosted

nativní Dependency Injection

  • unified abstraction

plně Async

command-line scaffolding

Enhanced Razor

  • @inject, @using, @inherits
  • async views
  • flush pointes
  • tag helpers

Get Started

project.json

přidat do sekce dependencies

  • „Microsoft.AspNet.Mvc“: „6.0.0-beta1“

Startup.cs

Configure(IApplicationBuilder app) – app.UseMvc(routes => routes.MapRoute(…))

ConfigureServices(IServiceCollection services)

services.AddMvc()

services.Configure<MvcOptions>(options => …)

  • options.Filters
  • options.InputFormatters
  • options.ModelViewBinders
  • options.OutputFormatters
  • options.ValueProviderFactories

Routes

  • default routes, constratints: „{area:exists}/{controller=HomeControler}/{action=Index}/{id?int?}“
  • all routes fall through to next route, if the action is not found
  • attribute routing enabled by default [Route], [HttpXxx], concat route pro controller a action, inherited
  • route tokes [controller], [action], …

Samples

Areas

[Area] atribut na controlleru, nemusí být ve složce Area

stává se pouze informací pro routing, kde se to musí potkat s {area}

Model binding, formatting

[FromBody[ – formatters

[FromQuery], [FromRoute], [FromForm], [FromHeader] – restrikce

[Produces] na action – restrikce media types výstupu

WebAPI

shim-package pro podporu legacy WebAPI projektů (např. konvence pojmenování action–method, atp.)

View Components !!

partial view s controller action

vrací View nebo formatted data

Async, DI

Dependency Injection

POCO controller bez dědění Controller třídy

[Activate] atribut k property-based injection, např [Activate] public ActionContext ActionContext

service filters: [ServiceFilter(typeof(MyFilter)]

type filters: [TypeFilter(typeof(MyFilter)]

Application Model, conventions

described through ActionDescriptorCollection

tweak conventions (ála EF)

  • IApplicationModelConvention
  • IControllerModelConvention

Zanechat odpověď

Vyplňte detaily níže nebo klikněte na ikonu pro přihlášení:

Logo WordPress.com

Komentujete pomocí vašeho WordPress.com účtu. Odhlásit /  Změnit )

Facebook photo

Komentujete pomocí vašeho Facebook účtu. Odhlásit /  Změnit )

Připojování k %s