ASP.NET 4 in Multi-tenant App, Examples in MVC, ExtJS, and Angular
Create an ASP.NET website that employs best practices and also supports multiple domains (or tenants) from both the server and client sides. The website you'll work on in this course includes clients written in ASP.NET MVC Razor, Angular, and ExtJS.
What you'll learn
Building a great website that supports multiple domains (or tenants) from both the server side and client side can be challenging. In this course, ASP.NET 4 in Multi-tenant App, Examples in MVC, ExtJS, and Angular, ASP.NET website developers like you can learn how to build a first-class, best-practices website that supports multiple tenants from both a server-side and client-side perspective. First, you'll learn how to segregate both the data and theme of each unique tenant such that each tenant has its own private website logic and theme. After that, you'll be shown how to capture the incoming request on the server side, parse that request for the domain, and guide your code through different programming logic and display themes; furthermore, you'll learn how to separately build 100%-client-side apps that leverage your web server code using the client-side SPA (Single Page JavaScript App) libraries Angular and ExtJS. Finally, you'll explore how to set up and use Node.js and Gulp as your build system for Angular apps as well as how to use Sencha's CMD for scaffolding your ExtJS app and build and minify the ExtJS app for production. By the end of this course, you'll be able to build ASP.NET websites that work with multiple tenants and use best practices with no trouble at all.
Table of contents
- Introduction 1m
- Reviewing Prerequisites or What You Need to Know for This Course 1m
- Creating a New Visual Studio 2015 ASP.NET MVC Project 5m
- Building a Functioning Tenant Model and Controller 6m
- Adding Tenant Data and Creating a Functioning MVC Razor View 5m
- Building Out Real Speaker and Sessions Models and Controllers 6m
- Introducing Data Persistence and Entity Framework Code First 1m
- Using NuGet to Add EF Code First to Our Visual Studio Project 2m
- Adding Our Three Models to an EF Data Context Using DbSet 6m
- Bringing Speakers and Tenants to EF and Using Migrations 5m
- Updating Controllers to use EF Instead of C# Object Initializers 2m
- Adding Async Await Controller Pattern for Asynchronous Processing 1m
- Updating our Visual Studio Project to use IIS 1m
- Summary 1m
- Introduction 2m
- Initializing Entity Framework Code First Plumbing with C# Classes 5m
- Seeding Data in EF Code First with the C# Object Initializer 4m
- Seeding Default Data in EF Code First with the JSON Files 7m
- Adding an Owin Context Property from Request URL 6m
- Adding a Base MVC Controller That Looks up the Current Tenant 3m
- Building a Memory Cache for the Tenant List 6m
- Generalizing Our Memory Cache for Better and Cleaner Reuse 6m
- Extracting an Interface from Our Cache for Other Implementations 4m
- Summary 1m
- Introduction 2m
- Specifying Conventions for a Multi-tenant Custom View Engine 3m
- Building a Custom Razor View Engine to Support Multi-tenancy 6m
- Creating a Controller That Supports Two Different Tenant Views 7m
- Enhancing Our Controller to Support Async Await and Data Cache 6m
- Restricting View Access by Tenant Using Controller Attributes 7m
- Adding Razor Master Layout Page Functionality per Tenant 5m
- Bringing in High Quality HTML and CSS to Multi-tenant Razor Views 7m
- Adding Speaker Details Sessions and Home to the SVCC Tenant 4m
- Building Our Second Tenant Site Code Stars Summit 5m
- Summary 2m
- Introduction 3m
- Introducing Node.js Basics and Why We Care 3m
- Learning the Node.js Command Line Interpreter REPL Plus Async 3m
- Learning CommonJS Basics with Require and Export 3m
- Introducing the Gulp Streaming Build System That Uses CommonJS 7m
- Introducing the Package Browsersync a Web Server for Development 4m
- Introducing Browserify to Use Require to Package Our JavaScript 6m
- Modifying Our Build Script to Include Watchify to Monitor Changes 3m
- Summary 1m
- Introduction 1m
- Setting up AngularJS with Node.js Using Require 3m
- Creating a Trivial AngularJS Page with Expressions and Bindings 3m
- Adding the ng-repeat Directive to Build an HTML Table from Data 2m
- Factoring out an Angular Controller in JS to Create a Data Array 3m
- Nesting Require Statements for Better Program Organization 5m
- Refactoring Just the Controller Logic to Its Own CommonJS Require 3m
- Creating a Home Page State by Adding ui-router to Our Angular App 4m
- Creating a New Speaker Page and Adding an Associated State to Our App 1m
- Adding HTML Template Cache for Multi-tenancy and Performance 5m
- Adding a Common RESTful Speaker Data Service for Our Speaker Page 6m
- Mocking Our Speaker RESTful Call with Embedded JSON Data 6m
- Adding Production CSS, HTML, and an Angular Tenant 5m
- Running Angular in an ASP.NET MVC Multi-tenant Environment 7m
- Integrating Angular into Webapi Rest and Passing Config Data 5m
- Summary 1m
- Introduction 3m
- Deploying to IIS on Servers Either Virtual or Physical 2m
- Setting up DNS Records for Standalone IIS Servers 3m
- Setting up IIS on a Dedicated or Virtual Windows Server 4m
- Demonstrating Visual Studio Publish and Setting up Tenants 3m
- Deploying to Microsoft Azure Cloud Web Site 10m
- Adding Redis Cache Both on Premise and Using Azure 7m
- Instantiating and Connecting to a Redis Instance on Azure 6m
- Creating an Amazon AWS Elastic Beanstalk Deployment with RDS SQL 5m
- Deploying a Web Farm Multi-tenant Website with SQL Server to AWS 8m
- Summary 1m
- Introduction, Prerequisites, and Other Related Pluralsight Courses 6m
- Reviewing ExtJS Scaffolding Basics and What Is to Come 3m
- Scaffolding Our ExtJS Tenant and Simplifying the Standard Example 10m
- Learning ExtJS Basics and Debugging a Simple Localhost Example 7m
- Introducing Data Stores Models and the New ExtJS View-Model 7m
- Adding ASP.NET WebAPI to Provide Speaker and Configuration Data 5m
- Collecting ASP.NET Server Side Data in the ExtJS Launch Event 6m
- Setting Speaker Tab Visibility from Server Side ASP.NET Config 4m
- Building a Second Tenant and Creating Production Ready ExtJS 4m
- Adding an ASP.NET MVC Controller to Load Tenants as ExtJS Pages 2m
- Summary 1m