Używamy cookies, aby ułatwić korzystanie z Portalu. Możesz określić warunki przechowywania, dostępu do plików cookies w Twojej przeglądarce. Dowiedz się więcej.
strona główna Strona główna | Nowości | Promocje | Zapowiedzi Twoje konto | Zarejestruj | Schowek | Kontakt | Pomoc
mapa działów
Szukaj: szukanie zaawansowane
Koszyk
Książki \ Programowanie \ ASP, ADO

Tajniki ASP.NET Core 2.0. Wzorzec MVC, konfiguracja, routing, wdrażanie i jeszcze więcej Język: 1

978-83-7541-353-3

Cena Brutto: 126.00

Cena netto: 120.00

Ilość:
Wersja: Drukowana
Autor Ricardo Peres
Liczba_stron 476
Wydawnictwo Packt Publishing
Oprawa miękka
Data_Wydania 2018-03-30
Tajniki

ASP.NET Core 2.0

Wzorzec MVC, konfiguracja, routing, wdrażanie i jeszcze więcej



ASP.NET jest platformą WWW z otwartym kodem źródłowym, służącą do budowania nowoczesnych aplikacji i usług WWW. Ta książka jest przewodnikiem po nowych funkcjach ASP.NET Core 2.0, do których należą interfejsy Web API oraz wzorzec MVC. Zaczniemy od krótkiego omówienia podstaw, obejmującego wzorzec MVC, platformy i zależności. Następnie przejdziemy do instalowania i konfigurowania środowiska MVC, po czym omówimy routing i zaawansowane opcje routingu. Następnie przyglądniemy się wiązaniom modelu, kontrolerom i akcjom, filtrom, uwierzytelnianiu użytkowników oraz testowaniu.

Później poznamy wszelkie aspekty składni i procesów podczas pracy z silnikiem Razor. Zapoznamy się z programowaniem po stronie klienta oraz aspektami ASP.NET Core związanymi z zabezpieczeniami. Przyjrzymy się też mikrousługom na platformie ASP.NET Core. Na koniec dowiemy się, jak wdrażać ASP.NET Core w nowych środowiskach, takich jak Azure, AWS i Docker. Pod koniec książki dobrze opanujemy programowanie w ASP.NET Core i będziemy lepiej rozumieć, jak wykorzystywać tę technologię w środowisku wieloplatformowym.

Dzięki tej książce można:
  • Poznać nowe funkcje ASP.NET Core 2.0.
  • Dowiedzieć się, jak konfigurować ASP.NET Core.
  • Konfigurować trasy dostępu do zasobów ASP.NET Core.
  • Tworzyć kontrolery i metody akcji oraz utrzymywać stan aplikacji.
  • Tworzyć widoki do wyświetlania treści.
  • Implementować i sprawdzać poprawność formularzy oraz pobierać z nich informacje.
  • Pisać moduły wielokrotnego użytku dla ASP.NET Core.
  • Wdrażać ASP.NET Core w różnych środowiskac

Wstęp   . . .. . . . 1

Rozdział 1: Początki pracy z ASP.NET Core  . . . . . . . . . . . 7

Wprowadzenie do ASP.NET Core . . . . . .. . . . . . . . . 8

.NET Core   . . . . . . . . . . . . . . 11

Platformy systemowe   . . . . . . . . . .  . 16

Zależności i platformy    . . . . . . . . . . 17

Programowanie dla .NET Core lub pełnej platformy .NET Framework . . . . . . . . . 20

Zrozumienie wzorca MVC  . . . . . . .. . . . . 21

Uzyskiwanie kontekstu   25

Potok OWIN   . . . . . . . . . . . 26

Hosting   . . . . . . . . . . . . . . . . 30

Kestrel   . . . . . . . . . . . . 31

WebListener   . . . . . . . 32

IIS   . . . . . . . . . . . . . . . . . 33

Nginx   . . . . . . . . . . . . . 33

Apache   . . . . . . . . . . . . 33

Konfi guracja   . . . . . . . 33

Funkcje   . . . . . . . . . . . . 34

Konfi guracja uruchomieniowa  . . . . . . . . . . . . . . . . . . . . . . . 35

Odwrócenie sterowania i wstrzykiwanie zależności  . . . . . . 36

Środowiska uruchamiania  . . . . . .  . . . . . . . . 41

Projekt przykładowy   . . . 42

Struktura   . . . . . . . . . . 42

Podsumowanie   . . . . . . . . 44

 

Rozdział 2: Konfiguracja  . . . . . . . . . . . . . 45

Konfi guracja w .NET Core  . . . . . .  . . . . . . 45

Dostawcy   . . . . . . . . . . . . . . 48

Dostawcy oparci na plikach  . . . . . . . . . . . 50

Dostawca JSON   51

vi Spis treści

Dostawca XML   52

Dostawca INI   . . 52

Inni dostawcy   . . . . . . 53

Sekrety użytkowników  . . . . . . . . . . . . . . . . . . . . . . . . . . 53

Azure Key Vault  54

Wiersz poleceń   54

Zmienne środowiskowe  . . . . . . . . . . . . . . . . . . . . . . . . . 56

Pamięć   . . . . . . . . 56

Docker   . . . . . . . . 56

Tworzenie niestandardowego dostawcy  . . . . . . . . . . . . . . 57

Korzystanie z wartości konfi guracyjnych  . . . . . . . . . . . . . . . . 59

Jawne pobieranie i ustawianie wartości  . . . . . . . . . . . . . . 60

Sekcje konfi guracji   . 60

Pobieranie wszystkich wartości  . . . . . . . . . . . . . . . . . . . . . . 62

Wiązanie z klasami   . 62

Wstrzykiwanie wartości  . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 64

Przeładowywanie konfi guracji i obsługiwanie powiadomień o zmianach . . . . . . . 65

Łączenie wszystkiego razem  . . . . . . . . . . . . . . . . . . . . . . . . . . . . 66

Podsumowanie   . . . . . . . . 67

 

Rozdział 3: Routing   . . . 69

Tabele routingu   . . . . . . . . 70

Szablony tras   . . . . . . . . . . 71

Dopasowywanie parametrów routingu  . . . . . . . . . . . . . . . . . . 73

Wybieranie trasy   . . . . . . . 75

Trasy specjalne   . . . . . 77

Domyślne trasy   . . . . . . . . 77

Procedury obsługi tras   . 78

Routing do wewnętrznych procedur obsługi  . . . . . . . . . . 79

Ograniczenia tras   . . . . . . 80

Metody HTTP   . . . . . . 81

Ograniczenia domyślne  . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 82

Ograniczenia niestandardowe  . . . . . . . . . . . . . . . . . . . . . . . 83

Tokeny danych tras   . . . . 85

Obszary   . . . . . . . . . . . . . . . 86

Atrybuty routingu   . . . . . 87

Trasy   . . . . . . . . . . . . . . 87

Ustawienia domyślne  . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 89

Ograniczenia   . . . . . . 89

Obszary   . . . . . . . . . . . 90

Nazwy akcji   . . . . . . . . 90

Brak akcji   . . . . . . . . . . 91

Obostrzenia   . . . . . . . 91

Wartości tras   . . . . . . . 91

Radzenie sobie z błędami  . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 92

Trasa przechwytująca wszystkie przypadki  . . . . . . . . . . . 92

Oprogramowanie pośrednie dla stron kodów stanu  . . . 92

Określone kody stanów  . . . . . . . . . . . . . . . . . . . . . . . . . 93

Dowolny kod stanu  . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 93

Łączenie wszystkiego razem  . . . . . . . . . . . . . . . . . . . . . . . . . . . . 94

Podsumowanie   . . . . . . . . 94

 

Rozdział 4: Kontrolery i akcje  . . . . . . . .  . . . . . 95

Korzystanie z kontrolerów  . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 95

Klasy bazowe dla kontrolerów  . . . . . . . . . . . . . . . . . . . . . . . 96

Kontrolery POCO   . . . 98

Dodawanie kontekstu do kontrolerów POCO  . . . . . 98

Przechwytywanie akcji w kontrolerach POCO  . . . .100

Znajdowanie kontrolerów . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .100

Cykl życia kontrolera   . .102

Akcje   . . . . . . . . . . . . . . . . .104

Znajdowanie akcji   .104

Akcje synchroniczne i asynchroniczne  . . . . . . . . . . . . . . .104

Uzyskiwanie kontekstu  . . . . . . . . . . . . . . . . . . . . . . . . . . . . .105

Ograniczenia akcji   .106

Parametry akcji   . . .107

Wiązanie modelu   .110

Treść żądania   .111

Formularz   . . . .111

Nagłówek   . . . .112

Zapytanie   . . . .112

Trasa   . . . . . . . . .112

Wstrzykiwanie zależności  . . . . . . . . . . . . . . . . . . . . . .112

Niestandardowe elementy wiążące  . . . . . . . . . . . . .113

Elementy formatujące dane wejściowe  . . . . . . . . .115

Jawne wiązanie  . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .115

viii Spis treści

Anulowanie żądań  . . . . . . . . . . . . . . . . . . . . . . . . . . . . .117

Sprawdzanie poprawności modelu  . . . . . . . . . . . . . . . . . .117

Wyniki akcji   . . . . . . .119

Akcje API   . . . . . . . . . . . . .124

Elementy formatujące dane wyjściowe  . . . . . . . . . . . . . .125

Negocjowanie zawartości  . . . . . . . . . . . . . . . . . . . . . . . . . .126

Wersjonowanie API  . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .128

Wartości nagłówków  . . . . . . . . . . . . . . . . . . . . . . . . . .129

URL   . . . . . . . . . .129

Odwoływanie  130

Wersja domyślna  . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .130

Mapowanie wersji  . . . . . . . . . . . . . . . . . . . . . . . . . . . . .131

Nieprawidłowe wersje  . . . . . . . . . . . . . . . . . . . . . . . . .131

Dokumentacja API  131

Pamięć podręczna dla odpowiedzi  . . . . . . . . . . . . . . . . . .136

Utrzymywanie stanu   . .139

Żądanie   . . . . . . . . . .139

Formularz   . . . . . . . .139

Łańcuch zapytania  139

Trasa   . . . . . . . . . . . . .140

Pliki cookie   . . . . . . .140

Sesja   . . . . . . . . . . . . .142

Pamięć podręczna  144

Pamięć podręczna wewnątrz pamięci operacyjnej . . . . . . . . . . . . .144

Rozproszona pamięć podręczna  . . . . . . . . . . . . . . . .146

Redis   . . . . .147

SQL Server  147

Dane tymczasowe  148

Porównanie technik utrzymywania stanu  . . . . . . . . . . . .149

Wstrzykiwanie zależności  . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .149

Globalizacja i lokalizacja  . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .150

Łączenie wszystkiego razem  . . . . . . . . . . . . . . . . . . . . . . . . . . .156

Podsumowanie   . . . . . . .156

 

Rozdział 5: Widoki   . . .157

Klasy widoków  . . . . . . . .159

Lokalizowanie widoków  . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .161

Ekspandery lokalizacji widoków  . . . . . . . . . . . . . . . . . . . . .163

Spis treści ix

Silniki widoków   . . .164

Rejestrowanie i diagnostyka  . . . . . . . . . . . . . . . . . . . . . . . .170

Kompilacja widoków  . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .172

Model   . . . . . . . . . . . .177

ViewBag   . . . . . . . . . .178

Dane tymczasowe  179

Układy widoków   . . . . . .179

Widoki częściowe   .181

Przekazywanie danych do widoków częściowych 182

Znajdowanie widoków częściowych  . . . . . . . . . . . .182

Pliki specjalne   . . . .183

Opcje widoków   . . .183

Obszary   . . . . . . . . . . . . . .186

Wstrzykiwanie zależności  . . . . . . . . . . . .  . . . .186

Zasoby   . . . . . . . . . . .187

Widoki tłumaczone  . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .189

Strony Razor   . . . . . . . . . .190

Model strony   . . . . .191

Procedury obsługi strony  . . . . . . . . . . . . . . . . . . . . . . . . . . .193

Wiązanie modelu   .196

Sprawdzanie poprawności modelu  . . . . . . . . . . . . . . . . . .197

Utrzymywanie stanu  . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .197

Układy widoków   . .197

Widoki częściowe   .197

Pliki specjalne   . . . .198

Filtry   . . . . . . . . . . . . .198

Wstrzykiwanie zależności  . . . . . . . . . . . . . . . . . . . . . . . . . . .198

Konfi gurowanie opcji  . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .198

Trasy stron   . . . . . . . .199

Bezpieczeństwo   . . .200

Łączenie wszystkiego razem  . . . . . . . . . . . . . . . . . . . . . . . . . . .201

Podsumowanie   . . . . . . .201

 

Rozdział 6: Korzystanie z formularzy i modeli  . . . .203

Kontekst formularza   . .204

Metadane modelu   . . . .204

Modele typów anonimowych  . . . . . . . . . . . . . . . . . . . . . . .208

Pomocnicy HTML   . . . . .209

Formularze   . . . . . . .209

Jednowierszowe pola tekstowe  . . . . . . . . . . . . . . . . . . . . .210

Wielowierszowe pola tekstowe  . . . . . . . . . . . . . . . . . . . . .211

Hasła   . . . . . . . . . . . . .211

Listy rozwijane   . . . .211

Pola list   . . . . . . . . . . .212

Przyciski radiowe   .212

Pola wyboru   . . . . . .213

Wartości ukryte   . . .213

Łącza   . . . . . . . . . . . . .213

Etykiety   . . . . . . . . . .214

Surowy kod HTML  .214

Identyfi katory, nazwy i wartości  . . . . . . . . . . . . . . . . . . . .214

Ogólne szablony do edycji i wyświetlania  . . . . . . . . . . .214

Metody i właściwości użytkowe  . . . . . . . . . . . . . . . . . . . . .215

Komunikaty sprawdzania poprawności  . . . . . . . . . . . . . .215

Niestandardowi pomocnicy . . . . . . . . . . . . . . . . . . . . . . . . .216

Szablony   . . . . . . . . . . . . .218

Wiązanie modelu   . . . . .220

Sprawdzanie poprawności modelu  . . . . . . . . . . . . . . . . . . . . .222

Sprawdzanie poprawności danych po stronie serwera 222

Konfi guracja   .223

Sprawdzanie poprawności przez adnotacje danych . . . . .  . . . . . .224

Komunikaty o błędach  . . . . . . . . . . . . . . . . . . . . . .227

Samoczynne sprawdzanie poprawności  . . . . . . . . .227

Niestandardowe sprawdzanie poprawności  . . . . .228

Sprawdzanie poprawności modelu po stronie klienta 230

Konfi guracja   .230

Niestandardowe sprawdzanie poprawności  . . . . .231

AJAX   . . . . . . . . . . . . . . . . .234

Sprawdzanie poprawności  . . . . . . . . . . . . . . . . . . . . . . . . . .235

Obostrzenia   . . . . . .236

Zawartość   . . . . . . . .237

Ładowanie plików   . . . .237

Dostęp bezpośredni  . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .238

Łączenie wszystkiego razem  . . . . . . . . . . . . . . . . . . . . . . . . . . .239

Podsumowanie   . . . . . . .239

 

Rozdział 7: Bezpieczeństwo  . . . . . . . . . . . . . . . . . . . . . . . . .241

Uwierzytelnianie   . . . . .241

Uwierzytelnianie systemu Windows  . . . . . . . . . . . . . . . . .242

Uwierzytelnianie niestandardowe  . . . . . . . . . . . . . . . . . . .244

Uwierzytelnianie w ASP.NET Core 1.x  . . . . . . . . . . . .244

Uwierzytelnianie w ASP.NET Core 2.x  . . . . . . . . . . . .247

Identity   . . . . . .248

Korzystanie z JWT  . . . . . . . . . . . . . . . . . . . . . . . . . . . . .252

IdentityServer  255

ASP.NET Core 1.x . . . . . . . . . . . . . . . . . . . . . . . . . . . .255

ASP.NET Core 2.x . . . . . . . . . . . . . . . . . . . . . . . . . . . .256

Azure AD   . . . .257

Logowanie przez serwisy społecznościowe  . . . . . .259

Twitter   . . . .259

Google  . . . .260

Microsoft   .260

Bezpieczeństwo wiązania  . . . . . . . . . . . . . . . . . . . . . . . . . . .261

Bezpieczeństwo plików cookie  . . . . . . . . . . . . . . . . . . . . . .261

Autoryzacja   . . . . . . . . . . .262

Role   . . . . . . . . . . . . . .262

Zasady   . . . . . . . . . . .263

Procedury obsługi autoryzacji  . . . . . . . . . . . . . . . . . . . . . .264

Autoryzacja oparta na zasobach  . . . . . . . . . . . . . . . . . . . .267

Dostęp anonimowy  . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .268

Przeciwdziałanie fałszerstwom  . . . . . . . . . . . . . . . . . . . . . . . . .268

Kodowanie HTML   . . . . .271

HTTPS   . . . . . . . . . . . . . . . .271

Hosting   . . . . . . . . . .272

IIS Express   . . .272

Kestrel   . . . . . . .273

ASP.NET Core 1.x . . . . . . . . . . . . . . . . . . . . . . . . . . . .273

ASP.NET Core 2.x . . . . . . . . . . . . . . . . . . . . . . . . . . . .273

WebListener  . .274

Ograniczanie HTTP  274

Przekierowanie do HTTP  . . . . . . . . . . . . . . . . . . . . . . . . . . . .274

CORS   . . . . . . . . . . . . . . . . .275

Ochrona danych   . . . . . .277

Pliki statyczne   . . . .278

Wykorzystanie akcji do pobierania plików  . . . . . . . . . . .278

Wykorzystanie oprogramowania pośredniego do wymuszania bezpieczeństwa . . . . . . . . .279

Łączenie wszystkiego razem  . . . . . . . . . . . . . . . . . . . . . . . . . . .281

Podsumowanie   . . . . . . .281

 

Rozdział 8: Komponenty wielokrotnego użytku  . .283

Komponenty widoków  283

Odkrywanie komponentów widoków  . . . . . . . . . . . . . . .284

Korzystanie z komponentów widoków  . . . . . . . . . . . . . .284

Wyniki komponentów widoków  . . . . . . . . . . . . . . . . . . . .285

Wstrzykiwanie zależności  . . . . . . . . . . . . . . . . . . . . . . . . . . .286

Pomocnicy znacznikowi  . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .287

Zrozumienie właściwości pomocnika znacznikowego 290

Ograniczanie stosowalności  . . . . . . . . . . . . . . . . . . . . . . . .291

Odkrywanie pomocników znacznikowych  . . . . . . . . . . .292

Wstrzykiwanie zależności  . . . . . . . . . . . . . . . . . . . . . . . . . . .293

Dołączeni pomocnicy znacznikowi  . . . . . . . . . . . . . . . . . .293

Znacznik <a>  294

Znacznik <cache>  . . . . . . . . . . . . . . . . . . . . . . . . . . . . .295

Znacznik <distributed-cache>  . . . . . . . . . . . . . . . . .296

Znacznik <environment>  . . . . . . . . . . . . . . . . . . . . . .296

Znacznik <form>  . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .296

Znacznik <script>  . . . . . . . . . . . . . . . . . . . . . . . . . . . . .297

Znacznik <link>  . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .297

Znacznik <select>  . . . . . . . . . . . . . . . . . . . . . . . . . . . . .298

Komunikat i podsumowanie sprawdzania poprawności . . . . . . . . . . . . . . . .298

Komponenty pomocników znacznikowych  . . . . . . . . . . . . .298

Widoki częściowe   . . . . .300

Widoki częściowe a komponenty widoków  . . . . . . . . . .301

Łączenie wszystkiego razem  . . . . . . . . . . . . . . . . . . . . . . . . . . .301

Podsumowanie   . . . . . . .302

 

Rozdział 9: Filtry   . . . . .303

Typy filtrów   . . . . . . . . . . .303

Wersje synchroniczne i asynchroniczne  . . . . . . . . . . . . . .304

Zakresy filtrów   . . . .304

Kolejność wykonywania  . . . . . . . . . . . . . . . . . . . . . . . . . . . .305

Stosowanie filtrów poprzez atrybuty  . . . . . . . . . . . . . . . .306

Fabryki i dostawcy  307

Wstrzykiwanie zależności  . . . . . . . . . . . . . . . . . . . . . . . . . . .308

Kontekst   . . . . . . . . . .309

Filtry autoryzacji   . . . . . .310

Zasady autoryzacji  312

Filtry zasobów   . . . . . . . .312

Zrozumienie fi ltrów akcji  . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .314

Filtry wyników   . . . . . . . .315

Filtry wyjątków   . . . . . . .317

Filtry stron   . . . . . . . . . . . .318

Łączenie wszystkiego razem  . . . . . . . . . . . . . . . . . . . . . . . . . . .319

Podsumowanie   . . . . . . .320

 

Rozdział 10: Rejestrowanie, śledzenie i diagnostyka . . . . . . . . . .321

Wspólna platforma rejestrowania  . . . . . . . . . . . . . . . . . . . . . .321

Korzystanie z rejestrowania  . . . . . . . . . . . . . . . . . . . . . . . . .322

Dostawcy rejestrowania  . . . . . . . . . . . . . . . . . . . . . . . . . . . .325

ASP.NET Core 1.x . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .326

ASP.NET Core 2.x . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .326

Filtrowanie rejestrowania  . . . . . . . . . . . . . . . . . . . . . . . . . . .327

ASP.NET Core 1  . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .327

ASP.NET Core 2  . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .329

Niestandardowi dostawcy  . . . . . . . . . . . . . . . . . . . . . . . . . .330

Wstrzykiwanie zależności  . . . . . . . . . . . . . . . . . . . . . . . . . . .332

Atrybuty rejestrowania  . . . . . . . . . . . . . . . . . . . . . . . . . . . . .333

Niestandardowe oprogramowanie pośrednie do rejestrowania . . . . . . . . . . .335

Diagnostyka   . . . . . . . . . .336

Telemetria   . . . . . . . . . . . .339

ASP.NET Core 1.x   . .341

ASP.NET Core 2.x   . .342

Zdarzenia niestandardowe  . . . . . . . . . . . . . . . . . . . . . . . . .342

Sprawdzanie kondycji   .345

Łączenie wszystkiego razem  . . . . . . . . . . . . . . . . . . . . . . . . . . .346

Podsumowanie   . . . . . . .347

 

Rozdział 11: Testowanie  . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .349

Testy jednostkowe   . . . .349

xUnit   . . . . . . . . . . . . .351

Wstrzykiwanie zależności  . . . . . . . . . . . . . . . . . . . . . . . . . . .355

Imitowanie obiektów  . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .356

Twierdzenia   . . . . . .358

Interfejs użytkownika  . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .359

Korzystanie z wiersza poleceń  . . . . . . . . . . . . . . . . . . . . . .361

Ograniczenia testów jednostkowych  . . . . . . . . . . . . . . . .362

Testowanie integracyjne  . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .362

Łączenie wszystkiego razem  . . . . . . . . . . . . . . . . . . . . . . . . . . .364

Podsumowanie   . . . . . . .364

 

Rozdział 12: Programowanie po stronie klienta  . .365

Korzystanie z Bower   . .366

Korzystanie z Node.js   .368

Wywoływanie Node z .NET Core  . . . . . . . . . . . . . . . . . . . .369

Wstępne kompilowanie widoków  . . . . . . . . . . . . . . . . . . .370

Korzystanie z WebPack  . . . . . . . . . . . . . . . . . . . . . . . . . . . . .371

Szablony SPA   . . . . .372

Korzystanie z Gulp   . . . .373

Korzystanie z Grunt   . . .373

Korzystanie z TypeScript  . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .375

Korzystanie z Less   . . . .376

Łączenie wszystkiego razem  . . . . . . . . . . . . . . . . . . . . . . . . . . .378

Podsumowanie   . . . . . . .378

 

Rozdział 13: Poprawianie wydajności i skalowalności . . . . . . . . .379

Profi lowanie   . . . . . . . . . .379

CoreProfi ler   . . . . . . .380

MiniProfi ler   . . . . . . .380

Stackify Prefi x   . . . . .381

Hosting   . . . . . . . . . . . . . . .382

Wybieranie najlepszego hosta  . . . . . . . . . . . . . . . . . . . . . .382

Dostrajanie   . . . . . . .383

Maksymalna liczba jednoczesnych połączeń  . . . .383

Ograniczenia   .384

Limity czasu   . .385

Opakowywanie i minimalizowanie  . . . . . . . . . . . . . . . . . . . . .386

Akcje asynchroniczne   .387

Buforowanie w pamięci podręcznej  . . . . . . . . . . . . . . . . . . . .389

Buforowanie danych w pamięci podręcznej  . . . . .389

Pamięć podręczna wewnątrz pamięci operacyjnej . . . . . . . . . . . . . .389

Rozproszona pamięć podręczna  . . . . . . . . . . . . . . . .393

Buforowanie wyników akcji w pamięci podręcznej  . . .395

Buforowanie widoków w pamięci podręcznej  . . . . . . . .398

Kompresowanie odpowiedzi  . . . . . . . . . . . . . . . . . . . . . . . . . . .398

Łączenie wszystkiego razem  . . . . . . . . . . . . . . . . . . . . . . . . . . .400

Podsumowanie   . . . . . . .400

 

Rozdział 14: Komunikacja w czasie rzeczywistym 401

Konfi gurowanie SignalR  . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .401

Hosting koncentratora  402

Protokoły komunikacyjne  . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .405

Kontekst SignalR   . . . . .406

Cele komunikatów   . . . .406

Komunikowanie się z zewnątrz  . . . . . . . . . . . . . . . . . . . . . . . . .407

Podsumowanie   . . . . . . .408

 

Rozdział 15: Inne zagadnienia  . . . . . . . . . . . . . . . . . . . . . . .409

Obszary   . . . . . . . . . . . . . .409

Użycie   . . . . . . . . . . . .410

Pomocnicy znacznikowi i HTML  . . . . . . . . . . . . . . . . . . . . .411

Praca ze statycznymi plikami i folderami  . . . . . . . . . . . . . . .411

Przeglądanie katalogów  . . . . . . . . . . . . . . . . . . . . . . . . . . . .411

Pliki statyczne   . . . .412

Dokumenty domyślne  . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .414

Bezpieczeństwo   . . .415

Zdarzenia czasu życia aplikacji  . . . . . . . . . . . . . . . . . . . . . . . . .415

Osadzane zasoby   . . . . .417

Rozszerzenia hostingu  418

Uruchamianie hostingu  . . . . . . . . . . . . . . . . . . . . . . . . . . . .418

Usługi hostowane   .419

Konwencje niestandardowe  . . . . . . . . . . . . . . . . . . . . . . . . . . . .420

Przepisywanie adresów URL  . . . . . . . . . . . . . . . . . . . . . . . . . . .424

Przekierowywanie URL  . . . . . . . . . . . . . . . . . . . . . . . . . . . . .426

Przepisywanie adresów URL  . . . . . . . . . . . . . . . . . . . . . . . .426

Stosowanie reguł w czasie działania programu  . . . . . . .427

HTTPS   . . . . . . . . . . . .429

Specyfi czne dla platformy  . . . . . . . . . . . . . . . . . . . . . . . . . .429

Łączenie wszystkiego razem  . . . . . . . . . . . . . . . . . . . . . . . . . . .429

Podsumowanie   . . . . . . .430

 

Rozdział 16: Wdrażanie  . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .431

Ręczne wdrażanie   . . . .431

Ustawianie platformy docelowej  . . . . . . . . . . . . . . . . . . . .433

Samodzielne wdrożenia i środowiska uruchomieniowe . . . . . . . . . . .434

Przebudowywanie w czasie rzeczywistym  . . . . . . . . . . .434

Wdrażanie przy użyciu Visual Studio  . . . . . . . . . . . . . . . . . . .435

IIS   . . . . . . . . . . . . . . . . . . . .437

Nginx   . . . . . . . . . . . . . . . . .440

Azure   . . . . . . . . . . . . . . . . .441

AWS   . . . . . . . . . . . . . . . . . .442

Docker   . . . . . . . . . . . . . . .443

Usługa systemu Windows  . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .445

Łączenie wszystkiego razem  . . . . . . . . . . . . . . . . . . . . . . . . . . .446

Podsumowanie   . . . . . . .446

Indeks   . . . . . . . . . . . . . . . . . .447

powrót
 
Produkty Podobne
Zestaw 2 książek z serii Tajniki (C# i .NET Framework + ASP.NET Core 2.0)
Tajniki ASP.NET Core 2.0. Wzorzec MVC, konfiguracja, routing, wdrażanie i jeszcze więcej
ASP.NET Core in 24 Hours, Sams Teach Yourself
ASP.NET Core Application Development: Building an application in four sprints
Nowoczesne API. Ewoluujące aplikacje sieciowe w technologii ASP.NET
ASP.NET MVC 5, Bootstrap i Knockout.js. Tworzenie dynamicznych i elastycznych aplikacji internetowych
ASP.NET MVC 5. Zaawansowane programowanie
ASP.NET MVC 5 with Bootstrap and Knockout.js
Designing Evolvable Web APIs with ASP.NET
Programming Microsoft ASP.NET MVC, 3rd Edition
Więcej produktów