MVC w ASP.NET Core – pierwsze kroki

Pierwsze starcie z .Net Core na Linuxie zaliczone

– było ciężko, ale przede wszystkim z powodu małej ilości informacji lub przestarzałych źródeł (wersja 1.1, z której korzystam pojawiła się w listopadzie 2016 roku). Ucząc się nowej technologii skojarzyłem to co się dzieje w mojej głowie z tak zwanym modelem Tuckmana. Na początku mam dużą motywację do działania i robię research na temat danej technologii (forming), próbuje robić prosty program i wszystko wygląda ok. Po kilku dniach i mnogości informacji (niestety często niekompatybilnych z najnowszą wersją) przychodzi czas stormingu i spadek motywacji.  Potykam się,
próbuje, googluje błędy i tak dalej. Wreszcie po znalezieniu odpowiednich materiałów, które między innymi znajdują się na oficjalnej stronie Microsoftu: Link, udaje mi się zrozumieć jak wgryźć się w nowy framework – następuje czas normingu. Wszystko zaczyna się powoli układać, terminal nie pluje błędami, słońce zaczyna przebijać się zza chmur (no bez przesady – mieszkam w Krakowie…). Po nabraniu wprawy, jestem w stanie coraz szybciej odnaleźć się w nowej technologii, błędy jeżeli występują rozwiązuje dosyć gładko (oczywiście bywają takie, na które nawet stack nie zna odpowiedzi), projekt zaczyna nabierać kształtów – to zdecydowanie performing!

Źródło: http://www.hfhr.org.pl

Tyle tytułem wstępu, czas na konkrety.

Jak wprowadzić MVC do naszego projektu? Przede wszystkim należy dodać do zależności (dependencies) wpis odnośnie MVC (plik project.json):

Dlaczego 1.1.2? Intellisens podpowiada nam jaka wersja jest najwyższa, wersjonowanie możemy również sprawdzić na stronie NuGet-a, np. https://www.nuget.org/packages/Microsoft.AspNetCore.Mvc myślałem, że sama instalacja będzie trochę prostsza – tak jak to jest w zwykłym Nugetcie, ale wtyczki, które instalowałem nie chciały ze mną współpracować.

Ok czas na edycję pliku Startup.cs:

W metodzie ConfigureServices dodajemy MVC do dostępnych serwisów. Metodę Configure należy uzupełnić również o wywołanie metody UseMvc oraz defaultowy route. Widząc tylko białą planszę przy zabawie z Controllerami i View dodałem obsługę strony z wyjątkami (UseDeveloperExceptionPage).

Jeśli chodzi o samą strukturę MVC nie ma jakiś specjalnych różnić, tworzymy katalog Controllers w nim jakiś plik np. HomeController.cs:

raczej wszystko powinno być jasne (nawet dla kogoś nie znającego C#).

Czas na widok. Plik powinien się znaleźć w Views->Home(bo tak nazywa się nasz kontroler) i w przypadku akcji Index po prostu nazwany Index.cshtml (cshtml rozszerza zwykły HTML o tak zwany markup language umożliwiający nam przekazywanie zmiennych, tworzenie pętli itp.). W widoku umieszczamy co dusza zapragnie, co wstawić na początek? A jakże HelloMVC!:

no i wszystko powinno działać, odpalam polecenie dotnet run iii…

Przed dodaniem UseDeveloperExceptionPage zobaczyłbym tylko białą stronę. Do rzeczy o co chodzi? Chwila googlowania i jest (ciekawe jakby świat wyglądał bez stackoverflow 🙂 :
http://stackoverflow.com/questions/38296877/what-are-buildoptions-and-preservecompilationcontext-used-for

Krótko mówiąc – chcąc korzystać z Razor-a musimy dodać wpis do pliku project.json w sekcji buildOptions:

co ciekawe:
preserveCompilationContext isn’t documented in the above page (yet), but it’s required when you are using Razor” – coś czuje, że takie smaczki będą na porządku dziennym 🙂

Ok po dodaniu tego wpisu pierwsza aplikacja MVC w .Net Core gotowa!

ZOSTAW ODPOWIEDŹ

Please enter your comment!
Please enter your name here

Loading Facebook Comments ...