<p>Design, develop, and deploy a real-world web application by leveraging modern open source technologies. This book shows you how to use ASP.NET Core to build cross-platform web applications along with SignalR to enrich the application by enabling real-time communication between server and clients.
Real-Time Web Application Development With ASP.NET Core, SignalR, Docker, and Azure
β Scribed by SpringerLink (Online service); Vemula, Rami
- Publisher
- Apress
- Year
- 2017
- Tongue
- English
- Leaves
- 607
- Category
- Library
No coin nor oath required. For personal study only.
β¦ Synopsis
Design, develop, and deploy a real-world web application by leveraging modern open source technologies. This book shows you how to use ASP.NET Core to build cross-platform web applications along with SignalR to enrich the application by enabling real-time communication between server and clients. You will use Docker to containerize your application, integrate with GitHub to package the application, and provide continuous deployment to Azure's IaaS platform.
Along the way,Real-Time Web Application Developmentcovers topics including designing a Materialize CSS theme, using a test-driven development approach with xUnit.net, and securing your application with the OAuth 2.0 protocol. To further your understanding of the technology, you will learn logging and exception handling; navigation using view components; and how to work with forms and validations. The rich code samples from this book can be used to retrofit or upgrade existing ASP.NET Core applications.
What You Will Learn
Design and develop a real-world web application
Implement security and data storage with OAuth2 and Azure Table Storage
Orchestrate real-time notifications through SignalR
Use GitHub and Travis CI for continuous integration of code
Master Docker containerization and continuous deployment with Docker Cloud to Azure Linux virtual machines
Who This Book Is For
Developers and software engineers interested in learning an end-to-end approach to application development using Microsoft technologies.
β¦ Table of Contents
Contents......Page 5
About the Author......Page 11
About the Technical Reviewers......Page 12
Acknowledgments......Page 13
Introduction......Page 14
Chapter 1: Designing a Modern Real-World Web Application......Page 16
Requirements Gathering and Analysis......Page 17
Maintenance and Operations......Page 18
Introduction to the Automobile Service Center Application......Page 19
Scope of the Application......Page 21
Technologies Used in Building the Application......Page 22
Logical Architecture of the Application......Page 23
Continuous Integration and Deployment Architecture......Page 25
Software Prerequisites......Page 27
Summary......Page 28
Introduction to .NET Core......Page 29
Introduction to ASP.NET Core......Page 31
Versions and Roadmap of .NET Core and ASP.NET Core......Page 33
Creating the Automobile Service Center Application......Page 34
Understanding the ASP.NET Core Web Project Artifacts......Page 42
Services......Page 43
Startup.cs......Page 44
Setting Up the Application Configuration......Page 45
Using Dependency Injection in the ASP.NET Core Application......Page 51
References......Page 53
Responsive Design and New Approaches......Page 54
About Materialize CSS......Page 56
Materialize CSS Themes......Page 57
Using Materialize CSS in the Automobile Service Center Application......Page 58
Adding a Master Layout......Page 61
Designing a Layout for Secure Pages......Page 67
Reference......Page 73
Chapter 4: Overview of Azure Storage......Page 74
Introduction to Azure Storage......Page 75
Getting Started with Azure SDK and Storage Emulator......Page 77
Azure Table Storage Unit of Work Pattern......Page 82
Sample CRUD Operations......Page 90
Reference......Page 99
Chapter 5: Test-Driven Approach Using xUnit.net......Page 100
Test-Driven Development Life Cycle......Page 101
Understanding xUnit.net......Page 102
Getting Started with xUnit.net and MOQ......Page 103
Summary......Page 120
Chapter 6: Securing the Application with ASP.NET Core Identity and the OAuth 2.0 Protocol......Page 121
Creating and Setting Up the Admin Account......Page 122
Creating Login and Logout Screens......Page 129
Retrieving User Information from ClaimsPrincipal......Page 141
Resetting a Password Through MailKit E-mail Library Integration......Page 143
Developing a Forgot Password Option......Page 155
Creating and Managing Service Engineers......Page 157
Understanding the OAuth 2.0 Protocol......Page 176
Using a Gmail Authentication Provider for Customer Authentication......Page 178
Exercise 1......Page 196
Exercise 2......Page 197
Summary......Page 198
References......Page 199
Managing Master Data in Azure Tables......Page 200
Importing Master Data to Azure Tables from Excel......Page 234
Enabling Redis Memory Caching......Page 244
Summary......Page 252
Creating a Logging Framework......Page 253
Capturing User Activity Through an Action Filter......Page 260
Implementing Global Exception Handling......Page 263
Configuring Status Code Pages......Page 266
Summary......Page 272
Chapter 9: Creating Areas and Navigation by Using View Components......Page 273
Implementing Areas for the Automobile Service Center Application......Page 274
Creating a Dynamic JSON-Driven Navigation Menu......Page 283
Using Bundling and Minification......Page 296
Summary......Page 302
Service Request Workflow......Page 303
Service Request Form......Page 305
Dashboard View......Page 316
Service Request Details View......Page 336
Custom Validations using DataAnnotation Attributes......Page 350
Adding Internationalization Support......Page 355
Exercise 1......Page 363
Exercise 2......Page 364
Summary......Page 365
Chapter 11: Real-Time Communication with SignalR......Page 367
Introducing SignalR......Page 368
Enabling Two-Way Communication Between Customers and Service Engineers......Page 369
Configure Automobile Service Center with SignalR......Page 370
Create SignalR Hub to Enable-Two Way Communication Using JQuery......Page 372
Enable User Online/Offline Notifications Using SignalR......Page 386
Send SMS Notifications to Customers by Using Twilio API......Page 396
Enable Web Notifications to Customers by Using SignalR......Page 409
Build the Promotional Offers Capability......Page 411
Display Promotional Offers to Customers......Page 427
Enable Web Notifications to Customers on New Promotions......Page 429
Summary......Page 433
Reference......Page 434
Chapter 12: Code Version Control Using GitHub Platform......Page 435
Getting Started with GitHub......Page 436
Managing Local GitHub Credentials and Adding Collaborators to GitHub Repository......Page 442
Create and commit source code to a Local Git Repository......Page 447
Create and push source code to a Remote Git Repository......Page 450
Branching and merging source code......Page 452
Reset an unwanted commit from Local Repository......Page 461
Reset an unwanted commit from Remote Repository......Page 463
Resolve merge conflicts in source code......Page 465
Using GitHub with Visual Studio......Page 477
Summary......Page 496
References......Page 497
Chapter 13: Configuring a Continuous Build with Travis CI......Page 498
Introducing Travis CI......Page 499
Creating a Travis CI Account and Associating It with the GitHub Repository......Page 500
Configuring the GitHub Repository with Travis.yml......Page 504
Displaying the Travis Build Status at the GitHub Repository Home Page......Page 511
Enabling Travis Build Notifications to Users......Page 514
Summary......Page 516
References......Page 517
Chapter 14: Preparing an Application for Production and Creating a Docker Image......Page 518
Exploring Docker......Page 519
Installing Docker and Reviewing Prerequisites......Page 520
Preparing the Application with an Azure Key Vault Configuration......Page 525
Set Up Azure Key Vault and Configure the Access Policy......Page 526
Set Up Azure Table Storage and Azure Redis Cache Services......Page 534
Create Secrets at Azure Key Vault......Page 539
Integrate Application Code with Azure Key Vault......Page 540
Creating a Docker File......Page 542
Summary......Page 550
Reference......Page 551
Chapter 15: Continuous Deployment to Azure Linux Virtual Machines by Using Docker Cloud......Page 552
Introduction to Docker Cloud......Page 553
Create Azure Nodes for Continuous Deployment......Page 556
Docker Cloud Continuous Integration with GitHub Repository......Page 561
Continuous Deployment to Azure Nodes from Docker Cloud......Page 564
Bring Our Own Node for Docker Integration......Page 579
Automobile Service Center and .NET Core 2.0......Page 596
Recommended Exercises......Page 597
Summary......Page 598
Reference......Page 599
Index......Page 600
π SIMILAR VOLUMES
A beginner's guide to building fully functioning web applications from scratch using the latest features of ASP.NET Core 3 and C# 8 Key Features Get to grips with the new features and APIs in ASP.NET Core 3, EF Core 3, and Blazor Create web APIs that integrate your applications with other systems an
Get up and running with ASP.NET MVC 4, and learn how to build modern server-side web applications. This guide helps you understand how the framework performs, and shows you how to use various features to solve many real-world development scenarios youβre likely to face. In the process, youβll learn
Get up and running with ASP.NET MVC 4, and learn how to build modern server-side web applications. This guide helps you understand how the framework performs, and shows you how to use various features to solve many real-world development scenarios you're likely to face. In the process, you'll learn
The web application landscape is vast and varied. Microsoftβs ASP.NET Framework-β built on top of the mature and robust .NET Framework-βis one of the most trusted platforms in the industry. ASP.NET MVC is Microsoftβs latest addition to the world of ASP.NET providing web developers with an alternativ