Cyfroteka.pl

klikaj i czytaj online

Cyfro
Czytomierz
00201 003848 12777890 na godz. na dobę w sumie
C# 6.0 i MVC 5. Tworzenie nowoczesnych portali internetowych - książka
C# 6.0 i MVC 5. Tworzenie nowoczesnych portali internetowych - książka
Autor: , Liczba stron: 528
Wydawca: Helion Język publikacji: polski
ISBN: 978-83-246-9496-9 Data wydania:
Lektor:
Kategoria: ebooki >> komputery i informatyka >> webmasterstwo >> tworzenie stron www
Porównaj ceny (książka, ebook, audiobook).

Poznaj najlepsze narzędzia Microsoftu do tworzenia aplikacji webowych

Dynamiczny rozwój sieci i jej wkraczanie w coraz to nowe obszary życia pozwala nam korzystać z większości usług z dowolnego miejsca na świecie i za pośrednictwem każdego urządzenia z dostępem do internetu. Aby użytkownik mógł swobodnie poruszać się po sieci, konieczne jest rozwijanie coraz bardziej zaawansowanych, wygodniejszych i szybszych aplikacji internetowych działających po stronie serwera. Do niedawna większość aplikacji tego rodzaju była pisana w takich językach, jak PHP, Python lub Java, obecnie natomiast ogromną popularność zdobywają w tej dziedzinie język C# i platforma MVC.

Jeśli dysponujesz ogólną wiedzą na temat programowania i baz danych, opanowałeś lub właśnie opanowujesz podstawy języka C# i chcesz poznać platformę MVC oraz możliwości, jakie oferuje ona w zakresie tworzenia aplikacji webowych, sięgnij po tę książkę. Nie stanowi ona klasycznego podręcznika do programowania, lecz raczej zbiór praktycznych wskazówek i objaśnień pozwalających w krótkim czasie rozpocząć przygodę z tworzeniem aplikacji internetowych, a następnie logicznie ją kontynuować. Dzięki lekturze krok po kroku poznasz proces powstawania kodu aplikacji i jego wdrażania przy użyciu różnych narzędzi. Poznaj świat aplikacji internetowych!

Buduj doskonałe serwisy internetowe w języku C# z platformą MVC!
 

Znajdź podobne książki Ostatnio czytane w tej kategorii

Darmowy fragment publikacji:

Autorzy: Krzysztof Żydzik, Microsoft Certified Solutions Developer, Microsoft Certified Professional, Microsoft Specialist Tomasz Rak, Politechnika Rzeszowska, Wydział Elektrotechniki i Informatyki, Katedra Informatyki i Automatyki, Rzeszów, Polska Wszelkie prawa zastrzeżone. Nieautoryzowane rozpowszechnianie całości lub fragmentu niniejszej publikacji w jakiejkolwiek postaci jest zabronione. Wykonywanie kopii metodą kserograficzną, fotograficzną, a także kopiowanie książki na nośniku filmowym, magnetycznym lub innym powoduje naruszenie praw autorskich niniejszej publikacji. Wszystkie znaki występujące w tekście są zastrzeżonymi znakami firmowymi bądź towarowymi ich właścicieli. Autor oraz Wydawnictwo HELION dołożyli wszelkich starań, by zawarte w tej książce informacje były kompletne i rzetelne. Nie biorą jednak żadnej odpowiedzialności ani za ich wykorzystanie, ani za związane z tym ewentualne naruszenie praw patentowych lub autorskich. Autor oraz Wydawnictwo HELION nie ponoszą również żadnej odpowiedzialności za ewentualne szkody wynikłe z wykorzystania informacji zawartych w książce. Redaktor prowadzący: Michał Mrowiec Projekt okładki: Studio Gravite / Olsztyn Obarek, Pokoński, Pazdrijowski, Zaprucki Wydawnictwo HELION ul. Kościuszki 1c, 44-100 GLIWICE tel. 32 231 22 19, 32 230 98 63 e-mail: helion@helion.pl WWW: http://helion.pl (księgarnia internetowa, katalog książek) Drogi Czytelniku! Jeżeli chcesz ocenić tę książkę, zajrzyj pod adres http://helion.pl/user/opinie/c6mvc5 Możesz tam wpisać swoje uwagi, spostrzeżenia, recenzję. Kody źródłowe kolejnych kroków tworzenia przykładowej aplikacji dostępne są pod adresem: ftp://ftp.helion.pl/przyklady/c6mvc5.zip ISBN: 978-83-246-9496-9 Copyright © Helion 2015 Printed in Poland. • Kup książkę • Poleć książkę • Oceń książkę • Księgarnia internetowa • Lubię to! » Nasza społeczność Spis tre(cid:264)ci Wst(cid:246)p ............................................................................................ 15 Rozdzia(cid:228) 1. C# — teoria i praktyka ................................................................... 19 Wprowadzenie do j(cid:266)zyka C# .......................................................................................... 19 Kolejne wersje j(cid:266)zyka C# ......................................................................................... 20 C# 2.0 (.NET Framework 2.0, Visual Studio 2005) ........................................20 C# 3.0 (.NET Framework 3.5, Visual Studio 2008) ........................................20 C# 4.0 (.NET Framework 4.0, Visual Studio 2010) ........................................21 C# 5.0 (.NET Framework 4.5, Visual Studio 2012 oraz 2013) .......................21 C# 6.0 (zapowied(cid:296)) .........................................................................................21 Konwencje ............................................................................................................... 21 Cel stosowania konwencji ...............................................................................22 Pliki a klasy i interfejsy ...................................................................................22 Wci(cid:266)cia ...........................................................................................................22 Komentarze .....................................................................................................23 Deklaracje klas, interfejsów i metod ...............................................................24 Puste linie ........................................................................................................24 Nawiasy klamrowe ..........................................................................................25 Konwencje nazewnicze ...................................................................................25 Pozosta(cid:225)e dobre praktyki .................................................................................26 Typy ......................................................................................................................... 26 Deklaracja zmiennej ........................................................................................27 Inicjalizacja zmiennej .....................................................................................28 S(cid:225)owa kluczowe ..............................................................................................29 Sta(cid:225)e i zmienne tylko do odczytu ....................................................................29 Litera(cid:225)y ............................................................................................................30 Typ wyliczeniowy ...........................................................................................31 Konwersje typów i rzutowanie ........................................................................31 Opakowywanie (boxing) i rozpakowywanie (unboxing) ................................32 Warto(cid:286)ci zerowe oraz typy dopuszczaj(cid:261)ce warto(cid:286)ci zerowe ...........................33 Typy generyczne .............................................................................................34 Tablice, (cid:225)a(cid:276)cuchy i kolekcje ..................................................................................... 34 Tablice ............................................................................................................34 (cid:224)a(cid:276)cuchy .........................................................................................................36 Kolekcje ..........................................................................................................37 Operatory ................................................................................................................. 38 Operator trójargumentowy ?: ..........................................................................38 Operator ?? ......................................................................................................40 Kup książkęPoleć książkę 4 C# 6.0 i MVC 5. Tworzenie nowoczesnych portali internetowych Instrukcje steruj(cid:261)ce ................................................................................................... 40 Instrukcja if .....................................................................................................40 Instrukcja switch .............................................................................................41 Instrukcje iteracyjne ................................................................................................. 43 P(cid:266)tla while ......................................................................................................43 P(cid:266)tla do while ..................................................................................................43 P(cid:266)tla for ...........................................................................................................44 P(cid:266)tla foreach ...................................................................................................45 Instrukcje skoku ..............................................................................................45 Klasy, obiekty, pola, metody i w(cid:225)a(cid:286)ciwo(cid:286)ci .............................................................. 46 Klasy ...............................................................................................................46 Obiekty ...........................................................................................................48 Pola .................................................................................................................48 Metody ............................................................................................................49 W(cid:225)a(cid:286)ciwo(cid:286)ci ....................................................................................................52 Podstawowe poj(cid:266)cia zwi(cid:261)zane z programowaniem obiektowym ............................. 53 Abstrakcja .......................................................................................................53 Hermetyzacja ..................................................................................................54 Dziedziczenie ..................................................................................................54 Polimorfizm ....................................................................................................55 Przeci(cid:261)(cid:298)anie operatorów ........................................................................................... 56 Przeci(cid:261)(cid:298)anie operatorów relacji ......................................................................57 Metody Equals() i GetHashCode() ..................................................................57 Przeci(cid:261)(cid:298)anie operatorów konwersji .................................................................57 Przeci(cid:261)(cid:298)anie operatorów logicznych ...............................................................58 Przeci(cid:261)(cid:298)anie operatorów arytmetycznych .......................................................60 Przeci(cid:261)(cid:298)anie metod ................................................................................................... 61 Indeksatory ............................................................................................................... 61 Klasa System.Object ................................................................................................ 63 Konstruktor i destruktor ........................................................................................... 64 Garbage Collector .................................................................................................... 66 Zasada dzia(cid:225)ania GC .......................................................................................66 Podzia(cid:225) na generacje (przechowywanie obiektów w pami(cid:266)ci) ........................66 Struktury ................................................................................................................... 67 Interfejsy .................................................................................................................. 68 Jawna implementacja interfejsu ......................................................................69 Zwalnianie zasobów niezarz(cid:261)dzanych ...................................................................... 70 Interfejs IDisposable .......................................................................................70 S(cid:225)owo kluczowe using ....................................................................................71 Delegaty, metody anonimowe, wyra(cid:298)enia lambda i zdarzenia ................................. 72 Delegaty ..........................................................................................................72 Metody anonimowe ........................................................................................74 Wyra(cid:298)enia lambda ..........................................................................................74 Zdarzenia ........................................................................................................75 Dyrektywy preprocesora .......................................................................................... 76 Wyj(cid:261)tki ..................................................................................................................... 77 Zg(cid:225)aszanie wyj(cid:261)tków ......................................................................................77 Przepe(cid:225)nienia arytmetyczne ............................................................................78 Instrukcje checked i unchecked ......................................................................78 Przestrzenie nazw ..................................................................................................... 79 Zagnie(cid:298)d(cid:298)anie przestrzeni nazw ......................................................................79 Dyrektywa using .............................................................................................81 Aliasy ..............................................................................................................82 Zewn(cid:266)trzne aliasy ...........................................................................................83 Kup książkęPoleć książkę Spis tre(cid:264)ci 5 Typy, metody, klasy i kolekcje uogólnione (generyczne) ........................................ 83 Metody generyczne .........................................................................................84 Klasy generyczne ............................................................................................84 Kolekcje generyczne i interfejsy .....................................................................86 Interfejs IDictionary TKey, TValue — s(cid:225)ownik ..........................................86 Interfejs IEnumerable T ...............................................................................87 Interfejs ICollection ....................................................................................87 Interfejs IList ..............................................................................................87 Interfejs IQueryable ....................................................................................88 Wyra(cid:298)enia regularne ................................................................................................ 89 Data i czas ................................................................................................................ 90 Operacje wej(cid:286)cia, wyj(cid:286)cia, foldery i pliki ................................................................. 92 Pozosta(cid:225)e elementy j(cid:266)zyka i nowo(cid:286)ci w wersji C# 5.0 .................................................... 93 Mechanizm refleksji i atrybuty ................................................................................. 93 Atrybuty ..........................................................................................................94 IEnumerable a IEnumerator ..................................................................................... 96 Iteratory i s(cid:225)owo kluczowe yield return .................................................................... 97 Inicjalizatory obiektów i kolekcji ........................................................................... 100 Drzewa wyra(cid:298)e(cid:276) ..................................................................................................... 101 Metody rozszerzaj(cid:261)ce ............................................................................................. 102 Metody i klasy cz(cid:266)(cid:286)ciowe ....................................................................................... 103 Metody cz(cid:266)(cid:286)ciowe .........................................................................................104 Zmienne domniemane ............................................................................................ 105 Typy anonimowe .................................................................................................... 105 S(cid:225)owa kluczowe this i base ..................................................................................... 106 Typy dynamiczne ................................................................................................... 107 Argumenty nazwane — Named Arguments ........................................................... 110 Parametry opcjonalne ............................................................................................. 111 Obs(cid:225)uga kontra- i kowariancji oraz s(cid:225)owa kluczowe in i out .................................. 111 S(cid:225)owa kluczowe is, as i typeof ............................................................................... 114 Leniwa inicjalizacja — Lazy Initialization ............................................................. 114 Metody asynchroniczne — async i await ............................................................... 118 Atrybuty Caller Info ............................................................................................... 119 Nowo(cid:286)ci w C# 6.0 ........................................................................................................ 120 Konstruktory pierwotne — Primary Constructors .................................................. 120 Automatyczna inicjalizacja w(cid:225)a(cid:286)ciwo(cid:286)ci — Initializers for Auto-properties .......... 120 Dyrektywa using dla sk(cid:225)adowych statycznych — Using Static Members .............. 121 Inicjalizatory s(cid:225)ownikowe — Dictionary Initializer ............................................... 121 Deklaracje inline dla parametrów out — Inline Declarations for Out Params ........ 122 Wyra(cid:298)enia dla w(cid:225)a(cid:286)ciwo(cid:286)ci — Property Expressions ............................................. 122 Wyra(cid:298)enia dla metod — Method Expressions ....................................................... 122 Modyfikator private protected ................................................................................ 123 Kolekcje IEnumerable jako parametr — Params for Enumerables ........................ 123 Jednoargumentowe sprawdzanie warto(cid:286)ci null — Monadic Null Checking ........... 123 S(cid:225)owo kluczowe await w blokach catch i finally .................................................... 124 Filtry wyj(cid:261)tków — Exception Filters ..................................................................... 124 Litera(cid:225)y binarne i separatory cyfr — Binary Literals, Digit Separators .................. 124 Rozdzia(cid:228) 2. Wzorce architektoniczne .............................................................. 125 Architektura wielowarstwowa ...................................................................................... 125 Architektura jednowarstwowa ................................................................................ 126 Architektura dwuwarstwowa .................................................................................. 126 Architektura trójwarstwowa ................................................................................... 126 Architektura n-warstwowa ..................................................................................... 126 Kup książkęPoleć książkę 6 C# 6.0 i MVC 5. Tworzenie nowoczesnych portali internetowych MVC ............................................................................................................................. 127 View ....................................................................................................................... 128 Controller ............................................................................................................... 128 Model ..................................................................................................................... 128 Domain Model, MVC Model i ViewModel — porównanie .........................128 Model pasywny a model aktywny .................................................................129 MVP ............................................................................................................................. 129 Model ..................................................................................................................... 130 View ....................................................................................................................... 130 Presenter ................................................................................................................. 130 MVVM ......................................................................................................................... 131 MVC, MVP i MVVM .................................................................................................. 131 DDD ............................................................................................................................. 132 SOA .............................................................................................................................. 132 EDA .............................................................................................................................. 133 Rozdzia(cid:228) 3. Microsoft .NET Framework ........................................................... 135 Struktura .NET ............................................................................................................. 135 CLI ......................................................................................................................... 136 CIL ......................................................................................................................... 137 CLR ........................................................................................................................ 137 DLR ........................................................................................................................ 137 Elementy .NET wykorzystywane w ASP.NET MVC ............................................ 138 Implementacje .NET .............................................................................................. 138 Projekt Mono ................................................................................................139 WPF .............................................................................................................................. 139 WCF ............................................................................................................................. 140 Service Contract ..................................................................................................... 140 Operation Contract ................................................................................................. 140 Data Contract ......................................................................................................... 140 Data Member .......................................................................................................... 140 WCF Endpoint = adres + binding + contract .......................................................... 142 Silverlight ..................................................................................................................... 142 Microsoft Azure ............................................................................................................ 143 Windows Azure Storage ......................................................................................... 143 BLOB Storage ...............................................................................................143 Table Storage ................................................................................................143 Queue Storage ...............................................................................................143 Hostowanie aplikacji w Azure ................................................................................ 143 Worker Role ..................................................................................................144 Web Role ......................................................................................................144 Web Site ........................................................................................................144 Virtual Machine ............................................................................................144 Azure Service Bus .................................................................................................. 144 Service Bus Relay .........................................................................................144 Service Bus Queue ........................................................................................145 Service Bus Topic .........................................................................................145 ASP.NET Web Forms .................................................................................................. 145 ASP.NET Web Pages ................................................................................................... 146 ADO.NET ..................................................................................................................... 146 Obiekt DataSet ....................................................................................................... 147 Obiekty DataTable i DataRow ......................................................................147 Obiekt DataRelation ......................................................................................147 Obiekt DataView ..........................................................................................147 .NET Framework Data Provider ............................................................................. 147 Kup książkęPoleć książkę Spis tre(cid:264)ci 7 LINQ ............................................................................................................................ 148 LINQ to XML ........................................................................................................ 148 LINQ to Objects ..................................................................................................... 149 LINQ to SQL .......................................................................................................... 149 LINQ to DataSet ..................................................................................................... 149 LINQ to Entities ..................................................................................................... 149 Przyk(cid:225)ady zapyta(cid:276) LINQ ........................................................................................ 150 Sk(cid:225)adnia metod — Method Syntax ...............................................................150 Sk(cid:225)adnia zapyta(cid:276) — Query Syntax ...............................................................151 PLINQ .................................................................................................................... 151 Narz(cid:266)dzia ORM w .NET .............................................................................................. 153 Entity Framework ................................................................................................... 153 NHibernate ............................................................................................................. 153 NHibernate 3 a Entity Framework 6 ....................................................................... 154 Alternatywa dla Entity Framework i NHibernate ................................................... 154 Rozdzia(cid:228) 4. Entity Framework 6 ...................................................................... 157 Podej(cid:286)cie do pracy z modelem danych ......................................................................... 157 Porównanie ró(cid:298)nych podej(cid:286)(cid:252) .................................................................................. 157 Model dla podej(cid:286)cia Model First ............................................................................ 158 Model dla podej(cid:286)cia Code First .............................................................................. 158 Nowo(cid:286)ci wprowadzane w kolejnych wersjach EF ........................................................ 159 Nowo(cid:286)ci wprowadzone w EF 5 .............................................................................. 159 Nowo(cid:286)ci wprowadzone w EF 6 .............................................................................. 160 Relacyjne bazy danych i EF ......................................................................................... 160 Krótki opis baz relacyjnych .................................................................................... 160 Relacja „jeden do wielu” ........................................................................................ 161 Relacja „jeden do jednego” .................................................................................... 161 Relacja „wiele do wielu” ........................................................................................ 162 Relacje opcjonalne ................................................................................................. 165 Obiekty DbContext i DbSet .......................................................................................... 165 DbContext i DbSet ................................................................................................. 165 Metody Attach i Detach ......................................................................................... 165 Relacje poprzez klucz FK a relacje niezale(cid:298)ne (obiektowe) ......................................... 166 Relacje poprzez klucz obcy — FK Association ..................................................... 166 Relacje niezale(cid:298)ne — Independent Association ..................................................... 167 Odpytywanie bazy danych za pomoc(cid:261) EF i LINQ ........................................................ 168 Wczytywanie zach(cid:225)anne — Eager Loading ............................................................ 168 Wczytywanie leniwe — Lazy Loading .................................................................. 169 Jawne (cid:225)adowanie — Explicit Loading .................................................................... 170 Problem N+1 .......................................................................................................... 170 Metoda AsNoTracking() ........................................................................................ 171 Odroczone i natychmiastowe wykonanie ............................................................... 171 Entity SQL ............................................................................................................. 172 Bezpo(cid:286)rednie zapytania SQL do bazy (Direct/RAW SQL) i procedury sk(cid:225)adowane w EF ............................................................................. 173 Transakcje w EF ........................................................................................................... 174 (cid:285)ledzenie zmian ............................................................................................................ 175 Migawkowe (cid:286)ledzenie zmian — Snapshot Change Tracking ................................. 175 Dynamiczne (cid:286)ledzenie zmian — Dynamic Change Tracking (proxy) .................... 175 Zarz(cid:261)dzanie operacjami wspó(cid:225)bie(cid:298)nymi ....................................................................... 176 Kaskadowe usuwanie — Cascade Delete ..................................................................... 177 Kup książkęPoleć książkę 8 C# 6.0 i MVC 5. Tworzenie nowoczesnych portali internetowych Strategie dziedziczenia w bazie danych — TPT, TPH i TPC ....................................... 178 TPH ........................................................................................................................ 178 TPT ........................................................................................................................ 178 TPC ........................................................................................................................ 179 SQL Logging ................................................................................................................ 179 Code First Fluent API i Data Annotations .................................................................... 180 Migracje ....................................................................................................................... 182 Metoda Seed ........................................................................................................... 183 Rozdzia(cid:228) 5. ASP.NET MVC 5 ........................................................................... 185 Kolejne wersje ASP.NET MVC ................................................................................... 185 ASP.NET MVC 1 ................................................................................................... 185 ASP.NET MVC 2 ................................................................................................... 185 ASP.NET MVC 3 ................................................................................................... 186 ASP.NET MVC 4 ................................................................................................... 186 ASP.NET MVC 5 ................................................................................................... 186 ASP.NET MVC 6 (zapowied(cid:296)) .............................................................................. 187 Konwencje w MVC ...................................................................................................... 187 Struktura projektu ................................................................................................... 187 Konwencje a ASP.NET MVC ................................................................................ 188 MVC Pipeline — (cid:286)cie(cid:298)ka wywo(cid:225)a(cid:276), handlery i modu(cid:225)y ............................................... 189 (cid:285)cie(cid:298)ka wywo(cid:225)a(cid:276) .................................................................................................... 189 Pierwsze (cid:298)(cid:261)danie do aplikacji ASP.NET ......................................................189 Podstawowe obiekty tworzone dla ka(cid:298)dego (cid:298)(cid:261)dania .....................................189 HttpApplication ............................................................................................190 Uchwyty i modu(cid:225)y HTTP ....................................................................................... 193 Uchwyty HTTP .............................................................................................193 Modu(cid:225)y HTTP ...............................................................................................193 HttpHandler a HttpModule ...........................................................................193 Kontroler ...................................................................................................................... 194 Typy rezultatu ........................................................................................................ 194 Parametry akcji ....................................................................................................... 196 (cid:297)(cid:261)danie GET .......................................................................................................... 196 (cid:297)(cid:261)danie POST ........................................................................................................ 196 Filtry akcji .............................................................................................................. 197 Widok ........................................................................................................................... 200 Zasady odnajdywania widoków ............................................................................. 200 Folder Shared ......................................................................................................... 201 Widoki cz(cid:266)(cid:286)ciowe .................................................................................................. 201 Razor ...................................................................................................................... 202 Dodatkowe w(cid:225)a(cid:286)ciwo(cid:286)ci silnika Razor ..........................................................203 ViewBag, ViewData i TempData ........................................................................... 204 Widoki typowane — Strongly Typed Views .......................................................... 205 HTML helpery ....................................................................................................... 208 Paczki skryptów i minimalizacja — Script/CSS Bundling and Minification ......... 209 Sekcje ........................................................................................................................... 211 Routing ......................................................................................................................... 214 Kolejno(cid:286)(cid:252) w routingu ............................................................................................. 214 Ignorowanie (cid:286)cie(cid:298)ek ............................................................................................... 214 Ograniczenia .......................................................................................................... 215 Routing na podstawie atrybutów ............................................................................ 215 Prefiksy .........................................................................................................216 Ograniczenia .................................................................................................217 Nazywanie (cid:286)cie(cid:298)ek i generowanie linków po nazwie (cid:286)cie(cid:298)ki ........................217 Obszary .........................................................................................................217 Kup książkęPoleć książkę Spis tre(cid:264)ci 9 Model ........................................................................................................................... 218 ViewModel ............................................................................................................. 218 Walidacja ...................................................................................................................... 222 MVC Scaffolding ......................................................................................................... 223 Generowanie kontrolerów ...................................................................................... 223 Generowanie widoków ........................................................................................... 227 Metody synchroniczne i asynchroniczne w MVC ........................................................ 228 S(cid:225)owa kluczowe — Async, Await, Task ................................................................ 230 Cache ............................................................................................................................ 231 Cachowanie po stronie serwera — Server Side Caching ........................................ 231 Atrybut OutputCache ....................................................................................232 Cachowanie cz(cid:266)(cid:286)ciowe .................................................................................233 Cachowanie rozproszone ..............................................................................233 Cachowanie po stronie klienta — Client Side Caching .......................................... 234 Cachowanie w HTML 5 ......................................................................................... 234 HTML 5 Application Cache ..........................................................................234 HTML 5 WebStorage ...................................................................................234 Code First Data annotations .......................................................................................... 235 Bezpiecze(cid:276)stwo ............................................................................................................ 235 SQL Injection ......................................................................................................... 236 Cross-Site Request Forgery .................................................................................... 236 Cross-Site Scripting ................................................................................................ 237 Over-Posting — parametr binding ......................................................................... 237 Obs(cid:225)uga, (cid:286)ledzenie i logowanie wyj(cid:261)tków w MVC ...................................................... 238 Lokalne zarz(cid:261)dzanie wyj(cid:261)tkami ............................................................................. 238 Blok try-catch ...............................................................................................238 Nadpisywanie metody OnException() w kontrolerze ...................................238 Globalne zarz(cid:261)dzanie wyj(cid:261)tkami ............................................................................ 239 Klasa FilterConfig .........................................................................................239 HandleError na poziomie kontrolerów i akcji ...............................................239 Zwracanie widoków dostosowanych do konkretnych typów wyj(cid:261)tków .......240 Logowanie globalne za pomoc(cid:261) osobnych narz(cid:266)dzi ............................................... 240 Identyfikacja, uwierzytelnianie i autoryzacja w MVC 5 ............................................... 241 Identyfikacja ........................................................................................................... 241 Uwierzytelnianie .................................................................................................... 241 Autoryzacja ............................................................................................................ 242 Role w MVC .................................................................................................242 Stan aplikacji, sesje i ciasteczka ............................................................................. 242 Stan aplikacji .................................................................................................242 Ciasteczka .....................................................................................................243 Sesje ..............................................................................................................243 OWIN ..................................................................................................................... 244 ASP.NET Identity .................................................................................................. 244 WIF i uwierzytelnianie za pomoc(cid:261) claimów .......................................................... 245 Identity Provider, STS ..................................................................................246 Strona ufaj(cid:261)ca — Relying Party ....................................................................246 Federated Authentication ....................................................................................... 247 Windows ACS ........................................................................................................ 248 OpenId i OpenAuth ................................................................................................ 249 OpenId ..........................................................................................................249 OpenAuth ......................................................................................................250 Kup książkęPoleć książkę 10 C# 6.0 i MVC 5. Tworzenie nowoczesnych portali internetowych Rozdzia(cid:228) 6. Web serwisy i ASP.NET Web API 2 ............................................... 251 Web API 2 .................................................................................................................... 251 Web API a ASP.NET MVC ......................................................................................... 252 Web serwis, REST, SOAP i OData .............................................................................. 253 SOAP ..................................................................................................................... 253 REST ...................................................................................................................... 253 OData ..................................................................................................................... 254 CORS i JSONP ............................................................................................................. 255 JSONP .................................................................................................................... 255 CORS ..................................................................................................................... 255 Uruchamianie CORS w Web API .................................................................256 Routing w Web API ..................................................................................................... 257 Mapowanie (cid:298)(cid:261)da(cid:276) na akcje b(cid:261)d(cid:296) metody w kontrolerze Web API ......................... 257 Web API a Entity Framework i warstwa modelu ......................................................... 258 Typy rezultatu w Web API ........................................................................................... 258 Typ void ................................................................................................................. 259 HttpResponseMessage ............................................................................................ 259 IHttpActionResult .................................................................................................. 260 Inny dowolny typ z aplikacji .................................................................................. 260 Pobieranie danych z Web API ...................................................................................... 261 Pobieranie danych po stronie serwera (.NET, C#) ................................................. 261 Pobieranie danych po stronie klienta (JavaScript, jQuery, AJAX) ......................... 261 Wersjonowanie w Web API ......................................................................................... 262 Rozdzia(cid:228) 7. Narz(cid:246)dzia, licencje i ceny ............................................................. 263 Serwer IIS ..................................................................................................................... 263 Kategorie dla modu(cid:225)ów dost(cid:266)pnych w IIS .............................................................. 263 Pule aplikacji w IIS ................................................................................................ 264 Przetwarzanie (cid:298)(cid:261)da(cid:276) w IIS ..................................................................................... 264 Microsoft SQL Server 2014 .......................................................................................... 264 Licencjonowanie SQL Server 2014 ........................................................................ 265 Ceny licencji SQL Server 2014 .............................................................................. 265 Nowo(cid:286)ci w SQL Server 2014 ................................................................................. 266 Windows Server 2012 .................................................................................................. 267 Wersje Windows Server 2012 ................................................................................ 267 Licencjonowanie Windows Server 2012 ................................................................ 267 Ceny Windows Server 2012 ................................................................................... 268 Microsoft Visual Studio 2013 Ultimate .......................................................................... 268 Snippety ................................................................................................................. 269 Page Inspector ........................................................................................................ 269 Nowo(cid:286)ci w Visual Studio 2013 .............................................................................. 269 Poprawiony pasek przewijania ......................................................................270 Podgl(cid:261)d definicji ...........................................................................................270 Browser Link ................................................................................................270 JSON Editor i JavaScript ..............................................................................271 Powi(cid:261)zanie z Microsoft Azure ......................................................................272 Wsparcie dla GIT ..........................................................................................272 Najwa(cid:298)niejsze skróty klawiszowe .......................................................................... 272 Rozdzia(cid:228) 8. Aplikacja i wdro(cid:276)enie .................................................................... 277 Wzorce projektowe i architektoniczne wykorzystywane w .NET ................................ 277 Repozytorium ......................................................................................................... 277 Wzorzec IoC ........................................................................................................... 277 Repozytorium generyczne ...................................................................................... 278 Wzorzec UnitOfWork ............................................................................................ 278 Kup książkęPoleć książkę Spis tre(cid:264)ci 11 Przyk(cid:225)adowa aplikacja .................................................................................................. 278 Etap 1. Krok 1. Tworzenie nowego projektu i aktualizacja pakietów .................... 279 Etap 1. Krok 2. Utworzenie modelu danych ........................................................... 283 Klasa Kategoria .............................................................................................286 Klasa Ogloszenie_Kategoria .........................................................................287 Klasa Uzytkownik .........................................................................................287 Etap 1. Krok 3. Tworzenie klasy kontekstu ............................................................ 290 Etap 1. Krok 4. Przenoszenie warstwy modelu do osobnego projektu ................... 294 Dodawanie referencji pomi(cid:266)dzy projektami .................................................296 Ustawienie projektu startowego ....................................................................297 Instalacja bibliotek dla nowego projektu .......................................................298 Przenoszenie plików z modelem do osobnej warstwy (projektu) ..................299 Etap 1. Krok 5. Migracje ........................................................................................ 300 Instalacja migracji .........................................................................................300 Konfiguracja migracji ...................................................................................301 Tworzenie migracji pocz(cid:261)tkowej ..................................................................302 Uruchomienie pierwszej migracji .................................................................305 Metoda Seed() ...............................................................................................306 Zmiany w modelu i kolejna migracja ............................................................309 Praca z b(cid:225)(cid:266)dami i niespójno(cid:286)ci(cid:261) w migracjach ..............................................310 Etap 1. Podsumowanie (warstwa modelu i migracje) ............................................. 311 Etap 2. Krok 1. Dodawanie kontrolerów i widoków — akcja Index ...................... 311 Dodawanie kontrolera z widokami ...............................................................311 Pierwsze uruchomienie aplikacji i routing ....................................................316 Lista og(cid:225)osze(cid:276) (akcja Index) — aktualizacja widoku/wygl(cid:261)du strony ..........317 Lista og(cid:225)osze(cid:276) a pobieranie danych ..............................................................321 Optymalizacja listy og(cid:225)osze(cid:276) ........................................................................322 Etap 2. Krok 2. Debugowanie oraz metody AsNoTracking() i ToList() ................ 324 Sprawdzanie warto(cid:286)ci zmiennych .................................................................325 Metoda ToList() i odroczone wykonanie (Deferred Execution) ...................325 Metoda AsNoTracking() ...............................................................................326 Etap 2. Krok 3. Poprawa wygl(cid:261)du i optymalizacja pod k(cid:261)tem SEO ....................... 329 Poprawa wygl(cid:261)du strony za pomoc(cid:261) Twitter Bootstrap ................................329 Pod(cid:286)wietlanie wierszy za pomoc(cid:261) CSS .........................................................330 Optymalizacja pod k(cid:261)tem pozycjonowania — SEO .....................................331 Etap 2. Podsumowanie ........................................................................................... 333 Etap 3. Krok 1. Poprawa architektury aplikacji ...................................................... 334 Przeniesienie zapytania LINQ do osobnej metody ........................................334 Przeniesienie metody do repozytorium .........................................................334 Etap 3. Krok 2. Zastosowanie kontenera Unity — IoC .......................................... 336 Wstrzykiwanie repozytorium poprzez konstruktor w kontrolerze .................336 Tworzenie interfejsu dla repozytorium .........................................................337 Instalacja kontenera IoC Unity ......................................................................338 Wstrzykiwanie kontekstu do repozytorium ...................................................340 Cykl (cid:298)ycia obiektu a kontener IoC ................................................................341 Etap 3. Podsumowanie ........................................................................................... 341 Etap 4. Krok 1. Akcje Details, Create, Edit, Delete ................................................ 342 Details ...........................................................................................................342 Metoda Details() w repozytorium .................................................................342 Aktualizacja i optymalizacja SEO dla widoku Details ..................................343 Delete ............................................................................................................345 Create ............................................................................................................353 Edit ................................................................................................................359 Kup książkęPoleć książkę 12 C# 6.0 i MVC 5. Tworzenie nowoczesnych portali internetowych Etap 4. Krok 2. Aktualizacja szablonu _Layout.cshtml .......................................... 365 Etap 4. Krok 3. Widoki cz(cid:266)(cid:286)ciowe — PartialViews ............................................... 366 Etap 4. Podsumowanie ........................................................................................... 369 Etap 5. Bezpiecze(cid:276)stwo, uwierzytelnianie i autoryzacja dost(cid:266)pu ........................... 369 Uwierzytelnianie i logowanie przez portale ..................................................369 Autoryzacja — role .......................................................................................372 Zabezpieczanie akcji .....................................................................................373 Etap 5. Podsumowanie ........................................................................................... 380 Etap 6. Stronicowanie i sortowanie ........................................................................ 381 Stronicowanie ...............................................................................................381 Sortowanie ....................................................................................................388 Etap 6. Podsumowanie ........................................................................................... 392 Etap 7. Og(cid:225)oszenia u(cid:298)ytkownika, kategorie, cache i ViewModel ........................... 393 Zak(cid:225)adka Moje og(cid:225)oszenia ............................................................................393 Cache ............................................................................................................394 Kategorie .......................................................................................................395 Zastosowanie HTML helpera — Html.Action ..............................................402 Zastosowanie ViewModel .............................................................................403 Etap 7. Podsumowanie ........................................................................................... 406 Etap 8. Dane w JSON, zarz(cid:261)dzanie relacj(cid:261) „wiele do wielu” i attribute routing .... 407 PartialView a dane w formacie JSON lub XML ...........................................407 U(cid:298)ycie attribute routingu ..............................................................................407 Zarz(cid:261)dzanie relacj(cid:261) „wiele do wielu” i autocomplete ...................................409 Dodatek na AspNetMvc.pl ............................................................................409 Etap 8. Podsumowanie ........................................................................................... 410 Etap 9. Dodatek — tworzenie modelu dla podej(cid:286)cia Model First .......................... 410 Publikacja systemu na zewn(cid:266)trznym serwerze hostingowym ....................................... 415 Dodawanie domeny ................................................................................................ 416 Konfiguracja witryny ............................................................................................. 418 Tworzenie bazy danych .......................................................................................... 421 Tworzenie konta FTP ............................................................................................. 422 Po(cid:225)(cid:261)czenie z baz(cid:261) danych poprzez SQL Server Management Studio ..................... 422 Wdra(cid:298)anie aplikacji na serwer za pomoc(cid:261) Microsoft Visual Studio ...................... 423 Dodatek A Zasady i metodologie w programowaniu ........................................ 427 Zasady .......................................................................................................................... 427 SOLID .................................................................................................................... 427 Zasada pojedynczej odpowiedzialno(cid:286)ci (SRP) ..............................................427 Zasada otwarte-zamkni(cid:266)te (OCP) .................................................................428 Zasada podstawienia Liskov (LSP) ...............................................................428 Zasada separacji interfejsów (ISP) ................................................................429 Zasada odwrócenia zale(cid:298)no(cid:286)ci (DIP) ............................................................431 GRASP ................................................................................................................... 432 Creator ..........................................................................................................433 Information Expert ........................................................................................433 Controller ......................................................................................................433 Low Coupling ...............................................................................................433 High Cohesion ..............................................................................................434 Polymorphism ...............................................................................................434 Pure Fabrication ............................................................................................434 Indirection .....................................................................................................435 Protected Variations ......................................................................................435 DRY ....................................................................................................................... 435 KISS ....................................................................................................................... 436 Kup książkęPoleć książkę Spis tre(cid:264)ci 13 Rule of Three .......................................................................................................... 436 Separation of Concern ............................................................................................ 436 YAGNI ................................................................................................................... 437 MoSCoW ................................................................................................................ 437 Metodologie .................................................................................................................. 437 Manifest Agile ........................................................................................................ 437 Scrum ..................................................................................................................... 439 eXtreme Programming ........................................................................................... 439 TDD ....................................................................................................................... 440 Dodatek B HTTP i SSL/TLS ........................................................................... 443 HTTP ............................................................................................................................ 443 SSL/TLS ....................................................................................................................... 447 Rodzaje certyfikatów .............................................................................................. 449 Zakup certyfikatu SSL ............................................................................................ 450 Aktywacja, walidacja i instalacja certyfikatu SSL ................................................. 450 Certyfikat w praktyce ............................................................................................. 450 Dodatek C HTML 5 i CSS 3 ........................................................................... 453 HTML 5 ........................................................................................................................ 453 Sekcje ..................................................................................................................... 457 Nowe typy pól formularza ...................................................................................... 458 Atrybuty dla formularza ......................................................................................... 459 Znaczniki ................................................................................................................ 459 Web Storage ........................................................................................................... 461 Server Side Events ................................................................................................. 461 WebSockets .......................................................................................
Pobierz darmowy fragment (pdf)

Gdzie kupić całą publikację:

C# 6.0 i MVC 5. Tworzenie nowoczesnych portali internetowych
Autor:
,

Opinie na temat publikacji:


Inne popularne pozycje z tej kategorii:


Czytaj również:


Prowadzisz stronę lub blog? Wstaw link do fragmentu tej książki i współpracuj z Cyfroteką: