Jeg har fornylig lavet min første rigtige ASP.NET MVC løsning.  Det er faktisk super cool at arbejde med.  Det eneste, jeg ikke er så vil med, er behovet for at lave sine views à la klassisk ASP, hvor man bruger <% %> tags.  Til fordel fra klassisk ASP snakker vi dog nu typestærkt C#.  Desværre bliver alle views først kompileret runtime, så eventuelle fejl i views opdages først under debugging.

En virkelig lækker ting ved ASP.NET MVC er, at det er utroligt nemt at få til at spille sammen med Dependency Injection frameworks, som f.eks. Unity.  Med Unity kan man f.eks. uden det store besvær lave constructor DI på sine controller klasser.  Der findes masser af eksempler på det på nettet.

Derudover har jeg gjort mig et par erfaringer, som jeg hermed giver videre:

  • Benyt altid IIS'en til at udvikle på og ikke ASP.NET development server, som VS.NET starter op under debug (det gælder vel altid og ikke kun for MVC).
  • Sørg for at sætte routing og IIS'en op til at benytte .mvc extension fra start af (gælder kun IIS 6) - eller brug url-rewriting.  Jeg har ikke noget problem med at bruge .mvc extensions, for pæne urls er ikke mit formål med MVC, men nogle finder det grimt, og så er url-rewriting tilsyneladende en løsning.
  • Benyt hjælpefunktionerne på Html klassen så meget som muligt.  Det gælder især Html.ActionLink, Html.RouteLine og Html.BeginForm.  På den måde sikrer man, at alle links altid er rigtige ift. websitets root folder.

Kommentarer

Mark Seemann Denmark siger:

16. marts 2009 20:22

At du pivser lidt over <% %>-syntaksen kan jeg godt forstå, men jeg tror at man vænner sig til det.

Selv om jeg ingen erfaring har med ASP.NET MVC, har jeg efterhånden fået mig en del erfaring med WPF, og der er data binding heller ikke specielt type safe. Det generede mig også noget til at starte med, men efterhånden har jeg bare opgivet min modstand fordi det på alle mulige andre måder er så kollosalt fedt!

Hvis ASP.NET's data binding-features er bare halvt så gode som WPF er jeg sikker på at jeg kommer til at elske dem - <% %>-syntaks eller ej Smile

Martin Faartoft Denmark siger:

17. marts 2009 22:09

Den smule MVC jeg har dimset med har også virket meget lovende, din bekymring manglende kompilering af views fik et eller andet til at ringe:

"By default when you do a build on an ASP.NET MVC project it compiles all code within the project, except for the code within view files.  With the ASP.NET MVC Beta you had to roll your own MSBuild task if you wanted to compile the views.  The ASP.NET MVC RC build now includes a built-in MSBuild task that you can use to include views as part of the project compilation process.  This will verify the syntax and code included inline within all views and master pages for the application, and give you build errors if it encounters any problems."

(sakset fra: http://weblogs.asp.net/scottgu/archive/2008/12/19/asp-net-mvc-design-gallery-and-upcoming-view-improvements-with-the-asp-net-mvc-release-candidate.aspx)

Mvh. Martin Faartoft

t4rzsan Denmark siger:

18. marts 2009 10:22

@Mark: Jeg mangler stadigvæk noget erfaring med ASP.NET MVC, men jeg tror, at databinding i WPF langt overgår MVC. Det eneste, jeg savner lidt i databinding i WPF, er muligheden for på en eller anden måde hurtigt at lave expressions i sin databinding (f.eks. matematiske udtryk). Men det kan vel altid løses ved at skyde sit eget objekt ind eller bruge ValueConverters.

@Martin: Jeg læste noget tilsvarende i et svar på StackOverflow efter jeg havde skrevet min blog.  Man skal vist selv rette i .proj filerne (dit link virker ikke).

t4rzsan Denmark siger:

19. marts 2009 07:34

Prøver lige at reposte Martins link:
http://weblogs.asp.net/scottgu/archive/2008/12/19/asp-net-mvc-design-gallery-and-upcoming-view-improvements-with-the-asp-net-mvc-release-candidate.aspx

Kommentarerne er lukkede