Muutke küpsiste eelistusi

Programming ASP.NET Core [Pehme köide]

  • Formaat: Paperback / softback, 416 pages, kõrgus x laius x paksus: 229x185x23 mm, kaal: 720 g
  • Sari: Developer Reference
  • Ilmumisaeg: 16-Jul-2018
  • Kirjastus: Microsoft Press
  • ISBN-10: 150930441X
  • ISBN-13: 9781509304417
Teised raamatud teemal:
  • Formaat: Paperback / softback, 416 pages, kõrgus x laius x paksus: 229x185x23 mm, kaal: 720 g
  • Sari: Developer Reference
  • Ilmumisaeg: 16-Jul-2018
  • Kirjastus: Microsoft Press
  • ISBN-10: 150930441X
  • ISBN-13: 9781509304417
Teised raamatud teemal:
The complete, pragmatic guide to building high-value solutions with ASP.NET Core

Programming ASP.NET Core is the definitive guide to practical web-based application development with Microsofts new ASP.NET Core framework. Microsoft MVP Dino Esposito introduces proven techniques and well-crafted example code for solving real problems with ASP.NET Core. Step by step, he guides you through using all key ASP.NET Core technologies, including MVC for HTML generation, .NET Core, EF Core, ASP.NET Identity, dependency injection, and much more. Esposito thoroughly covers ASP.NET Cores cross-platform capabilities and whats changed from older ASP.NET versions, but he doesnt stop there: he offers a complete learning path for every developer who wants to build production solutions, including mobile-specific solutions.

Microsoft MVP Dino Esposito shows how to:

Create new projects and understand their structure

Set up and use the familiar MVC application model in ASP.NET Core

Write controller class code to govern all stages of request processing

Serve HTML from controllers, or directly via Razor Pages

Master the Razor language for quickly defining the layout of HTML views

Manage cross-cutting concerns such as global configuration data, error and exception handling, controller class design, and dependency injection

Secure applications with user authentication and ASP.NET Cores policy-based user authorization API

Design for efficient data access, and choose the right option for reading and writing data

Build ASP.NET Core Web APIs that return JSON, XML, or other data

Use data binding to programmatically update visual components with fresh information

Build device-friendly web views for iOS and Android

Explore the radically new ASP.NET Core runtime environment and Dependency Injection (DI) infrastructure
Introduction xv
Who should read this book xvi
Assumptions
xvi
This might not be for you if...
xvi
Organization of this book xvii
System requirements xvii
Downloads: Code samples xvii
Errata, updates, & book support xviii
Stay in touch xviii
Part 1 The New ASP.NET At A Glance
Chapter 1 Why Another ASP.NET?
3(12)
The Current .NET Platform
3(4)
Highlights of the .NET Platform
3(1)
The .NET Framework
4(1)
The ASP.NET Framework
4(2)
The Web API Framework
6(1)
The Need for Super-Simple Web Services
6(1)
.NET Fifteen Years Later
7(3)
A More Compact .NET Framework
7(1)
Decoupling ASP.NET from the Host
8(1)
The New ASP.NET Core
9(1)
.NET Core Command-line Tools
10(3)
Installing CLI Tools
10(1)
The dotnet Driver Tool
11(1)
Predefined dotnet Commands
12(1)
Summary
13(2)
Chapter 2 The First ASP.NET Core Project
15(34)
Anatomy of an ASP.NET Core Project
15(13)
Structure of the Project
16(6)
Interacting with the Runtime Environment
22(6)
The Dependency Injection Subsystem
28(6)
Dependency Injection at a Glance
28(1)
Dependency Injection in ASP.NET Core
29(3)
Integrating with External DI Libraries
32(2)
Building a Mini Website
34(11)
Creating a Single Endpoint Website
34(7)
Accessing Files on the Web Server
41(4)
Summary
45(4)
Part II The ASP.NET MVC Application Model
Chapter 3 Bootstrapping ASP.NET MVC
49(20)
Enabling the MVC Application Model
49(6)
Registering the MVC Service
49(3)
Enabling Conventional Routing
52(3)
Configuring the Routing Table
55(9)
Anatomy of a Route
55(6)
Advanced Aspects of Routing
61(3)
Map of ASP.NET MVC Machinery
64(3)
The Action Invoker
65(1)
Processing Action Results
66(1)
Action Filters
66(1)
Summary
67(2)
Chapter 4 ASP.NET MVC Controllers
69(32)
Controller Classes
69(6)
Discovering the Controller Name
69(2)
Inherited Controllers
71(1)
POCO Controllers
72(3)
Controller Actions
75(7)
Mapping Actions to Methods
75(4)
Attribute-based Routing
79(3)
Implementation of Action Methods
82(11)
Basic Data Retrieval
82(2)
Model Binding
84(6)
Action Results
90(3)
Action Filters
93(7)
Anatomy of Action Filters
93(3)
Little Gallery of Action Filters
96(4)
Summary
100(1)
Chapter 5 ASP.NET MVC Views
101(26)
Serving HTML Content
101(3)
Serving HTML from Terminating Middleware
101(1)
Serving HTML from Controllers
102(1)
Serving HTML from Razor Pages
103(1)
The View Engine
104(12)
Invoking the View Engine
104(2)
The Razor View Engine
106(5)
Adding a Custom View Engine
111(1)
Structure of a Razor View
112(4)
Passing Data to a View
116(5)
Built-in Dictionaries
116(3)
Strongly Typed View Models
119(2)
Injecting Data through the DI System
121(1)
Razor Pages
121(4)
Discovering the Rationale behind Razor Pages
121(1)
Implementation of Razor Pages
122(1)
Posting Data from a Razor Page
123(2)
Summary
125(2)
Chapter 6 The Razor Syntax
127(24)
Elements of the Syntax
127(10)
Processing Code Expressions
128(4)
Layout Templates
132(2)
Partial Views
134(3)
Razor Tag Helpers
137(8)
Using Tag Helpers
137(1)
Built-in Tag Helpers
138(4)
Writing Custom Tag Helpers
142(3)
Razor View Components
145(3)
Writing a View Component
145(1)
The Composition UI Pattern
146(2)
Summary
148(3)
Part III Crosscutting Concerns
Chapter 7 Design Considerations
151(26)
The Dependency Injection Infrastructure
151(8)
Refactoring to Isolate Dependencies
151(3)
Generalities of the ASP.NET Core DI System
154(3)
Aspects of the DI Container
157(1)
Injecting Data and Services in Layers
157(2)
Collecting Configuration Data
159(7)
Supported Data Providers
159(2)
Building a Configuration Document Object Model
161(3)
Passing Configuration Data Around
164(2)
The Layered Architecture
166(4)
The Presentation Layer
167(1)
The Application Layer
168(1)
The Domain Layer
169(1)
The Infrastructure Layer
170(1)
Dealing with Exceptions
170(6)
Exception Handling Middleware
170(4)
Exception Filters
174(1)
Logging Exceptions
175(1)
Summary
176(1)
Chapter 8 Securing the Application
177(32)
Infrastructure for Web Security
177(1)
The HTTPS Protocol
177(1)
Dealing with Security Certificates
178(1)
Applying Encryption to HTTPS
178(1)
Authentication in ASP.NET Core
178(13)
Cookie-based Authentication
178(2)
Dealing with Multiple Authentication Schemes
180(2)
Modeling the User Identity
182(4)
External Authentication
186(5)
Authenticating Users via ASP.NET Identity
191(8)
Generalities of ASP.NET Identity
191(4)
Working with the User Manager
195(4)
Authorization Policies
199(9)
Role-based Authorization
200(3)
Policy-based Authorization
203(5)
Summary
208(1)
Chapter 9 Access to Application Data
209(28)
Toward a Relatively Generic Application back end
209(5)
Monolithic Applications
210(1)
The CQRS Approach
211(2)
Inside the Infrastructure Layer
213(1)
Data Access in .NET Core
214(8)
Entity Framework 6.x
214(2)
ADO.NET Adapters
216(3)
Using Micro O/RM Frameworks
219(2)
Using NoSQL Stores
221(1)
EF Core Common Tasks
222(12)
Modeling a Database
222(4)
Working with Table Data
226(4)
Dealing with Transactions
230(2)
A Word on Async Data Processing
232(2)
Summary
234(3)
Part IV Frontend
Chapter 10 Designing a Web API
237(22)
Building a Web API with ASP.NET Core
237(4)
Exposing HTTP Endpoints
238(2)
File Servers
240(1)
Designing a RESTful Interface
241(7)
REST at a Glance
242(3)
REST in ASP.NET Core
245(3)
Securing a Web API
248(9)
Planning Just the Security You Really Need
248(1)
Simpler Access Control Methods
249(1)
Using an Identity Management Server
250(7)
Summary
257(2)
Chapter 11 Posting Data from the Client Side
259(18)
Organizing HTML Forms
259(7)
Defining an HTML Form
259(4)
The Post-Redirect-Get Pattern
263(3)
Posting Forms Via JavaScript
266(9)
Uploading the Form Content
266(4)
Refreshing Portions of the Current Screen
270(2)
Uploading Files to a Web Server
272(3)
Summary
275(2)
Chapter 12 Client-side Data Binding
277(18)
Refreshing the View via HTML
277(7)
Preparing the Ground
277(1)
Defining Refreshable Areas
278(1)
Putting It All Together
278(6)
Refreshing the View via JSON
284(9)
Introducing the Mustache.JS Library
284(4)
Introducing the KnockoutJS Library
288(5)
The Angular Way to Building Web Apps
293(1)
Summary
293(2)
Chapter 13 Building Device-friendly Views
295(22)
Adapting Views to the Actual Device
295(10)
The Best of HTML5 for Device Scenarios
296(3)
Feature Detection
299(2)
Client-side Device Detection
301(3)
Client Hints Coming Soon
304(1)
Device-friendly Images
305(3)
The PICTURE Element
305(1)
The ImageEngine Platform
306(1)
Resizing Images Automatically
306(2)
Device-oriented Development Strategies
308(6)
Client-centric Strategies
308(4)
Server-centric Strategies
312(2)
Summary
314(3)
Part V The ASP.NET Core Ecosystem
Chapter 14 The ASP.NET Core Runtime Environment
317(26)
The ASP.NET Core Host
317(8)
The WebHost Class
318(3)
Custom Hosting Settings
321(4)
The Embedded HTTP Server
325(7)
Selection of the HTTP Server
326(2)
Configuring a Reverse Proxy
328(2)
Kestrel Configuration Parameters
330(2)
The ASP.NET Core Middleware
332(8)
Pipeline Architecture
332(3)
Writing Middleware Components
335(3)
Packaging Middleware Components
338(2)
Summary
340(3)
Chapter 15 Deploying an ASP.NET Core Application
343(20)
Publishing the Application
343(7)
Publishing from within Visual Studio
343(6)
Publishing Using CLI Tools
349(1)
Deploying the Application
350(9)
Deploying to IIS
351(3)
Deploying to Microsoft Azure
354(3)
Deploying to Linux
357(2)
Docker Containers
359(3)
Containers vs. Virtual Machines
359(1)
From Containers to Microservice Architecture
360(1)
Docker and Visual Studio 2017
360(2)
Summary
362(1)
Chapter 16 Migration and Adoption Strategies
363(16)
In Search of Business Value
363(8)
Looking for Benefits
364(4)
Brownfield Development
368(1)
Greenfield Development
369(2)
Outlining a Yellowfield Strategy
371(6)
Dealing with Missing Dependencies
371(1)
The .NET Portability Analyzer
372(1)
The Windows Compatibility Pack
373(1)
Postponing the Cross-platform Challenge
374(1)
Moving Towards a Microservice Architecture
375(2)
Summary
377(2)
Index 379
Dino Esposito is a digital strategist at BaxEnergy who has authored more than 20 books and 1,000 articles to date. His programming career has so far spanned 25 years. It is commonly recognized that his books and articles helped the professional growth of thousands of .NET developers and architects worldwide. Dino started back in 1992 as a C developer and witnessed the debut of .NET, the rise and fall of Silverlight and the ups and downs of various architectural patterns. He now looks ahead to Artificial Intelligence 2.0 and Blockchain and is the author of The Sabbatical Break, a theatrical-style work to travel the uncontaminated spaces of imagination hyperlinking software, literature, science, sport, technology, art. Get in touch at http://youbiquitous.net.

http://twitter.com/despos

http://instagram.com/desposofficial

http://facebook.com/desposofficial