(back) ASPNET Core and Angular (back)
- 1. Introduction
- 2. Building a Walking Skeleton
- 1. Introduction
- 2. Creating the DotNet Core WebAPI using the DotNetCLI
- 3. Reviewing the Project files in the DotNet Web API
- 4. Running the DotNet Core application
- 5. Environment settings and using dotnet watch
- 6. Creating the first Model and DataContext
- 7. Creating the Database using Entity Framework migrations
- 8. Retrieving data from the Database
- 9. Making our code asynchronous
- 10. Creating the Angular application using AngularCLI
- 11. The Angular bootstrapping and running the Angular app
- 12. Adding VS Code extensions used in this course
- 13. Making HTTP requests in Angular
- 14. Adding CORS support to the API
- 15. Displaying data from the API on the HTML page
- 16. Adding Bootstrap and Font-Awesome to our Angular app
- 17. Adding GIT for source control
- 18. Summary of Section 2
- 3. Security
- 1. Intoduction
- 2. Storing passwords in the Database
- 3. Creating the User model
- 4. The Repository pattern
- 5. Creating an Interface for the Repository
- 6. Creating the concrete Auth Repository and Register Method
- 7. Creating the Login repository method
- 8. Registering services in the Startup class
- 9. Creating the Register method in our Auth Controller
- 10. Using DTOs (Data Transfer Objects)
- 11. Validation in the API
- 12. Token Authentication
- 13. Creating the Login method in the API
- 14. Using the Authentication middleware
- 15. Summary of Section 3
- 4. Client side login and register
- 1. Introduction
- 2. Creating the Navigation and Login form
- 3. Introduction to Angular template forms
- 4. Introduction to Angular Services
- 5. Injecting the Angular services in our Components
- 6. Using ngIf to conditionally display HTML Elements
- 7. Adding a component so users can Register to our site
- 8. Parent to Child Component communication using Input properties
- 9. Component Communication Child to Parent using Output properties
- 10. Adding the register method to the Auth Service
- 11. Summary of Section 4
- 5. Error Handling
- 1. Introduction
- 2. Handling exceptions in the API
- 3. Setting up the Global exception handler in the API
- 4. Handling errors in Angular
- 5. Summary of Section 5
- 6. Adding 3rd party components to our app
- 1. Introduction
- 2. Wrapping 3rd party libraries as an Angular service
- 3. Using the Angular JWT library to improve token handling
- 4. Using the Angular JWT library to decode tokens
- 5. Adding Ngx Bootstrap to power our Bootstrap components
- 6. Bringing some color to our app with a theme from Bootswatch
- 7. Summary of Section 6
- 7. Routing in Angular
- 1. Introduction
- 2. Setting up routing in Angular
- 3. Setting up our links in the nav component
- 4. Using routing in our components
- 5. Protecting our routes with a route guard
- 6. Protecting multiple routes with a single route guard using dummy routes
- 7. Summary of Section 7
- 8. Extending the API
- 1. Introduction
- 2. Extending the User Model
- 3. Exploring Entity Framework migrations
- 4. Entity Framework Relationships
- 5. Seeding Data to the Database - Part 1
- 6. Seeding Data to the Database Part 2
- 7. Creating a new repository for our API
- 8. Creating the Users Controller
- 9. Shaping the data to return with DTOs
- 10. Using AutoMapper Part 1
- 11. Using AutoMapper Part 2
- 12. Summary
- 9. Building a great looking User Interface
- 1. Introduction
- 2. Introduction to Interfaces in Typescript
- 3. Adding Interfaces to our Typescript code
- 4. Creating another Angular service
- 5. Retrieving the Members into the Member List Component
- 6. Creating Member Cards to display on our Member list page
- 7. Giving our Members some style with CSS
- 8. Adding animated buttons to the member cards
- 9. Using Auth0 JwtModule to send up jwt tokens automatically
- 10. Creating the Member Detailed View component class
- 11. Designing the Member detailed view template - left hand side
- 12. Adding a tabbed panel for the right hand side of the Member detailed page
- 13. Using Route Resolvers to retrieve data
- 14. Adding a photo gallery to our application
- 15. Summary
- 10. Updating Resources
- 1. Introduction
- 2. Creating a Member Edit Component
- 3. Designing the template for the member profile edit page - part 1
- 4. Creating the Member Edit Template part 2
- 5. Adding a CanDeactivate route guard
- 6. Persisting the Member updates
- 7. Finishing off the Member edit component
- 8. Summary
- 11. Adding Photo upload functionality to the application
- 1. Introduction
- 2. Where should we store the photos
- 3. Using Cloudinary as a photo storage solution
- 4. Creating the Photos controller Part 1
- 5. Creating the Photos Controller Part 2
- 6. Testing the Photo upload with Postman
- 7. Creating the Photo upload component in Angular
- 8. Adding a 3rd Party File Uploader
- 9. Configuring the 3rd Party file uploader
- 10. Adding the Set Main photo functionality to the API
- 11. Adding the Set Main Photo functionality to the SPA
- 12. Using the array filter method to provide instant feedback in the SPA
- 13. Output properties revisited.
- 14. Adding the main photo to the Nav bar
- 15. Any to Any component communication in Angular
- 16. Using BehaviorSubject to add any to any communication to our app.
- 17. Adding the Delete photo function to the API
- 18. Adding the Delete Photo functionality to the SPA
- 19. Summary
- 12. Reactive Forms in Angular
- 1. Introduction
- 2. Introduction to Reactive Forms in Angular
- 3. Validation in Reactive forms
- 4. Custom Validators in Reactive forms
- 5. Providing Validation feedback to the user
- 6. Using the Reactive Forms FormBuilder Service
- 7. Expanding the Registration form
- 8. Handling Dates in Forms
- 9. Updating the Register method in the API
- 10. Completing the Registration implementation
- 11. Fixing the Photos issue for newly registered users
- 12. Summary
- 13. Action Filters in ASP.NET Core
- 14. Paging, Sorting and Filtering
- 1. Introduction
- 2. Paging in ASP.NET Core Web API
- 3. Adding a PagedList class
- 4. Setting up the paging helper classes
- 5. Implementing pagination in the API
- 6. Setting up pagination in the SPA
- 7. Using nix-bootstrap pagination module
- 8. Filtering in the API
- 9. Adding additional filtering parameters to the API
- 10. Adding filtering functionality to the SPA
- 11. Sorting results in the API
- 12. Adding the Sorting functionality to the SPA
- 13. Summary
- 15. Adding the 'Likes' functionality from start to finish
- 1. Introduction
- 2. Configuring the EF relationship so users can like each other
- 3. Creating the Like entity
- 4. Adding the Send Like functionality in the API
- 5. Retrieving the list of users liked and liked by user
- 6. Adding the Send like functionality to the SPA
- 7. Creating the Lists component
- 8. Summary of Section 15
- 16. Add a private messaging system to the application
- 1. Introduction
- 2. Creating the Message Entity and relationships
- 3. Adding the repository methods for the messages
- 4. Adding the Create Message method in the API
- 5. Adding the Repository methods for an Inbox, Outbox
- 6. Creating the Message Controller
- 7. Adding the Message thread methods to the API
- 8. Working with the message component in the SPA
- 9. Designing the Inbox and Outbox template
- 10. Getting the message thread in the component
- 11. Designing the message tab chat system
- 12. Adding Query params to an Angular route
- 13. Adding the send message functionality and a challenge
- 14. Challenge solution - resolving the issue with the photos
- 15. Adding the Delete message functionality to the API
- 16. Deleting messages in the SPA
- 17. Adding the Mark as Read functionality
- 18. Summary of Section 16
- 17. Publishing
- 1. Introduction
- 2. Using NG Build - Running our Angular app from the Kestrel server
- 3. Angular Production build with the Angular CLI
- 4. Using the Angular CLI for Ahead of Time Compilation
- 5. Installing MySQL on Mac OSX
- 6. Installing MySQL on Windows
- 7. Entity Framework Database Providers - updating the SDK to match the provider
- 8. Swapping the Database backend to MySQL
- 9. Fixing the Ignored include warnings in the API
- 10. Publishing our app to an IIS Server
- 11. Preparing a Linux server for publishing our application
- 12. Publishing the app to the Linux server
- 13. Course Wrap Up
- 18. Course Updates - 22 Jul 2018
- 1. Introduction
- 2. Update the .Net Core project to .Net Core 2.1
- 3. Update the Angular application to use Angular v6
- 4. A brief overview of the updated code
- 5. Updating GIT to use a single repo for the projects
- 19. Bonus - Publishing the application to Azure
- 20. Bonus - Identity and Role Management
![](/QuickHelp/Core2/Core4-2.png)
![](/QuickHelp/Core2/Core4-3.png)
![](/QuickHelp/Core2/Core4-4.png)
![](/QuickHelp/Core2/Core4-5.png)
![](/QuickHelp/Core2/Core4-6.png)
![](/QuickHelp/Core2/Core4-7.png)
![](/QuickHelp/Core2/Core4-8.png)
![](/QuickHelp/Core2/Core4-9.png)
![](/QuickHelp/Core2/Core4-10.png)
![](/QuickHelp/Core2/Core4-11.png)
![](/QuickHelp/Core2/Core4-12.png)
![](/QuickHelp/Core2/Core4-13.png)
![](/QuickHelp/Core2/Core4-14.png)
![](/QuickHelp/Core2/Core4-15.png)
![](/QuickHelp/Core2/Core4-16.png)
2. Building a Walking Skeleton
- 1. Introduction
- 2. Creating the DotNet Core WebAPI using the DotNetCLI
- 3. Reviewing the Project files in the DotNet Web API
- 4. Running the DotNet Core application
- 5. Environment settings and using dotnet watch
- 6. Creating the first Model and DataContext
- 7. Creating the Database using Entity Framework migrations
- 8. Retrieving data from the Database
- 9. Making our code asynchronous
- 10. Creating the Angular application using AngularCLI
- 11. The Angular bootstrapping and running the Angular app
- 12. Adding VS Code extensions used in this course
- 13. Making HTTP requests in Angular
- 14. Adding CORS support to the API
- 15. Displaying data from the API on the HTML page
- 16. Adding Bootstrap and Font-Awesome to our Angular app
- 17. Adding GIT for source control
- 18. Summary of Section 2
![](/QuickHelp/Core2/Core4-17.png)
![](/QuickHelp/Core2/Core4-18.png)
![](/QuickHelp/Core2/Core4-19.png)
![](/QuickHelp/Core2/Core4-20.png)
![](/QuickHelp/Core2/Core4-21.png)
![](/QuickHelp/Core2/Core4-22.png)
![](/QuickHelp/Core2/Core4-23.png)
![](/QuickHelp/Core2/Core4-24.png)
![](/QuickHelp/Core2/Core4-25.png)
![](/QuickHelp/Core2/Core4-26.png)
![](/QuickHelp/Core2/Core4-27.png)
![](/QuickHelp/Core2/Core4-28.png)
![](/QuickHelp/Core2/Core4-29.png)
![](/QuickHelp/Core2/Core4-30.png)
![](/QuickHelp/Core2/Core4-31.png)
![](/QuickHelp/Core2/Core4-32.png)
![](/QuickHelp/Core2/Core4-33.png)
![](/QuickHelp/Core2/Core4-34.png)
![](/QuickHelp/Core2/Core4-35.png)
![](/QuickHelp/Core2/Core4-36.png)
![](/QuickHelp/Core2/Core4-37.png)
![](/QuickHelp/Core2/Core4-38.png)
![](/QuickHelp/Core2/Core4-39.png)
![](/QuickHelp/Core2/Core4-40.png)
![](/QuickHelp/Core2/Core4-41.png)
![](/QuickHelp/Core2/Core4-42.png)
![](/QuickHelp/Core2/Core4-43.png)
![](/QuickHelp/Core2/Core4-44.png)
![](/QuickHelp/Core2/Core4-45.png)
![](/QuickHelp/Core2/Core4-46.png)
![](/QuickHelp/Core2/Core4-47.png)
![](/QuickHelp/Core2/Core4-48.png)
![](/QuickHelp/Core2/Core4-49.png)
![](/QuickHelp/Core2/Core4-50.png)
![](/QuickHelp/Core2/Core4-51.png)
![](/QuickHelp/Core2/Core4-52.png)
![](/QuickHelp/Core2/Core4-53.png)
![](/QuickHelp/Core2/Core4-54.png)
![](/QuickHelp/Core2/Core4-55.png)
![](/QuickHelp/Core2/Core4-56.png)
![](/QuickHelp/Core2/Core4-57.png)
![](/QuickHelp/Core2/Core4-58.png)
![](/QuickHelp/Core2/Core4-59.png)
![](/QuickHelp/Core2/Core4-60.png)
![](/QuickHelp/Core2/Core4-61.png)
![](/QuickHelp/Core2/Core4-62.png)
![](/QuickHelp/Core2/Core4-63.png)
![](/QuickHelp/Core2/Core4-64.png)
![](/QuickHelp/Core2/Core4-65.png)
![](/QuickHelp/Core2/Core4-66.png)
![](/QuickHelp/Core2/Core4-67.png)
![](/QuickHelp/Core2/Core4-68.png)
![](/QuickHelp/Core2/Core4-69.png)
![](/QuickHelp/Core2/Core4-70.png)
![](/QuickHelp/Core2/Core4-71.png)
![](/QuickHelp/Core2/Core4-72.png)
![](/QuickHelp/Core2/Core4-73.png)
![](/QuickHelp/Core2/Core4-74.png)
![](/QuickHelp/Core2/Core4-75.png)
![](/QuickHelp/Core2/Core4-76.png)
![](/QuickHelp/Core2/Core4-77.png)
![](/QuickHelp/Core2/Core4-78.png)
![](/QuickHelp/Core2/Core4-79.png)
![](/QuickHelp/Core2/Core4-80.png)
![](/QuickHelp/Core2/Core4-81.png)
![](/QuickHelp/Core2/Core4-82.png)
![](/QuickHelp/Core2/Core4-83.png)
![](/QuickHelp/Core2/Core4-84.png)
![](/QuickHelp/Core2/Core4-85.png)
![](/QuickHelp/Core2/Core4-86.png)
![](/QuickHelp/Core2/Core4-87.png)
![](/QuickHelp/Core2/Core4-88.png)
![](/QuickHelp/Core2/Core4-89.png)
![](/QuickHelp/Core2/Core4-90.png)
![](/QuickHelp/Core2/Core4-91.png)
![](/QuickHelp/Core2/Core4-92.png)
![](/QuickHelp/Core2/Core4-93.png)
![](/QuickHelp/Core2/Core4-94.png)
![](/QuickHelp/Core2/Core4-95.png)
![](/QuickHelp/Core2/Core4-96.png)
![](/QuickHelp/Core2/Core4-97.png)
![](/QuickHelp/Core2/Core4-98.png)
![](/QuickHelp/Core2/Core4-99.png)
![](/QuickHelp/Core2/Core4-100.png)
![](/QuickHelp/Core2/Core4-101.png)
![](/QuickHelp/Core2/Core4-102.png)
![](/QuickHelp/Core2/Core4-103.png)
![](/QuickHelp/Core2/Core4-104.png)
![](/QuickHelp/Core2/Core4-105.png)
![](/QuickHelp/Core2/Core4-106.png)
![](/QuickHelp/Core2/Core4-107.png)
![](/QuickHelp/Core2/Core4-108.png)
![](/QuickHelp/Core2/Core4-109.png)
![](/QuickHelp/Core2/Core4-110.png)
![](/QuickHelp/Core2/Core4-111.png)
![](/QuickHelp/Core2/Core4-112.png)
![](/QuickHelp/Core2/Core4-113.png)
![](/QuickHelp/Core2/Core4-114.png)
![](/QuickHelp/Core2/Core4-115.png)
![](/QuickHelp/Core2/Core4-116.png)
![](/QuickHelp/Core2/Core4-117.png)
![](/QuickHelp/Core2/Core4-118.png)
![](/QuickHelp/Core2/Core4-119.png)
![](/QuickHelp/Core2/Core4-120.png)
![](/QuickHelp/Core2/Core4-121.png)
![](/QuickHelp/Core2/Core4-122.png)
![](/QuickHelp/Core2/Core4-123.png)
![](/QuickHelp/Core2/Core4-124.png)
![](/QuickHelp/Core2/Core4-125.png)
![](/QuickHelp/Core2/Core4-126.png)
![](/QuickHelp/Core2/Core4-127.png)
![](/QuickHelp/Core2/Core4-128.png)
![](/QuickHelp/Core2/Core4-129.png)
![](/QuickHelp/Core2/Core4-130.png)
![](/QuickHelp/Core2/Core4-131.png)
![](/QuickHelp/Core2/Core4-132.png)
![](/QuickHelp/Core2/Core4-133.png)
![](/QuickHelp/Core2/Core4-134.png)
![](/QuickHelp/Core2/Core4-135.png)
![](/QuickHelp/Core2/Core4-136.png)
![](/QuickHelp/Core2/Core4-137.png)
![](/QuickHelp/Core2/Core4-138.png)
![](/QuickHelp/Core2/Core4-139.png)
![](/QuickHelp/Core2/Core4-140.png)
![](/QuickHelp/Core2/Core4-141.png)
![](/QuickHelp/Core2/Core4-142.png)
![](/QuickHelp/Core2/Core4-143.png)
![](/QuickHelp/Core2/Core4-144.png)
![](/QuickHelp/Core2/Core4-145.png)
![](/QuickHelp/Core2/Core4-146.png)
![](/QuickHelp/Core2/Core4-147.png)
![](/QuickHelp/Core2/Core4-148.png)
![](/QuickHelp/Core2/Core4-149.png)
![](/QuickHelp/Core2/Core4-150.png)
![](/QuickHelp/Core2/Core4-151.png)
![](/QuickHelp/Core2/Core4-152.png)
![](/QuickHelp/Core2/Core4-153.png)
![](/QuickHelp/Core2/Core4-154.png)
![](/QuickHelp/Core2/Core4-155.png)
![](/QuickHelp/Core2/Core4-156.png)
![](/QuickHelp/Core2/Core4-157.png)
![](/QuickHelp/Core2/Core4-158.png)
![](/QuickHelp/Core2/Core4-159.png)
![](/QuickHelp/Core2/Core4-160.png)
![](/QuickHelp/Core2/Core4-161.png)
![](/QuickHelp/Core2/Core4-162.png)
![](/QuickHelp/Core2/Core4-163.png)
![](/QuickHelp/Core2/Core4-164.png)
![](/QuickHelp/Core2/Core4-165.png)
![](/QuickHelp/Core2/Core4-166.png)
![](/QuickHelp/Core2/Core4-167.png)
![](/QuickHelp/Core2/Core4-168.png)
![](/QuickHelp/Core2/Core4-169.png)
![](/QuickHelp/Core2/Core4-170.png)
![](/QuickHelp/Core2/Core4-171.png)
![](/QuickHelp/Core2/Core4-172.png)
![](/QuickHelp/Core2/Core4-173.png)
![](/QuickHelp/Core2/Core4-174.png)
![](/QuickHelp/Core2/Core4-175.png)
![](/QuickHelp/Core2/Core4-176.png)
![](/QuickHelp/Core2/Core4-177.png)
![](/QuickHelp/Core2/Core4-178.png)
![](/QuickHelp/Core2/Core4-179.png)
![](/QuickHelp/Core2/Core4-180.png)
![](/QuickHelp/Core2/Core4-181.png)
![](/QuickHelp/Core2/Core4-182.png)
![](/QuickHelp/Core2/Core4-183.png)
![](/QuickHelp/Core2/Core4-184.png)
![](/QuickHelp/Core2/Core4-185.png)
![](/QuickHelp/Core2/Core4-186.png)
![](/QuickHelp/Core2/Core4-187.png)
![](/QuickHelp/Core2/Core4-188.png)
![](/QuickHelp/Core2/Core4-189.png)
![](/QuickHelp/Core2/Core4-190.png)
![](/QuickHelp/Core2/Core4-191.png)
![](/QuickHelp/Core2/Core4-192.png)
![](/QuickHelp/Core2/Core4-193.png)
![](/QuickHelp/Core2/Core4-194.png)
![](/QuickHelp/Core2/Core4-195.png)
![](/QuickHelp/Core2/Core4-196.png)
![](/QuickHelp/Core2/Core4-197.png)
![](/QuickHelp/Core2/Core4-198.png)
![](/QuickHelp/Core2/Core4-199.png)
![](/QuickHelp/Core2/Core4-200.png)
![](/QuickHelp/Core2/Core4-201.png)
![](/QuickHelp/Core2/Core4-202.png)
![](/QuickHelp/Core2/Core4-203.png)
![](/QuickHelp/Core2/Core4-204.png)
![](/QuickHelp/Core2/Core4-205.png)
![](/QuickHelp/Core2/Core4-206.png)
![](/QuickHelp/Core2/Core4-207.png)
![](/QuickHelp/Core2/Core4-208.png)
![](/QuickHelp/Core2/Core4-209.png)
![](/QuickHelp/Core2/Core4-210.png)
![](/QuickHelp/Core2/Core4-211.png)
![](/QuickHelp/Core2/Core4-212.png)
![](/QuickHelp/Core2/Core4-213.png)
![](/QuickHelp/Core2/Core4-214.png)
![](/QuickHelp/Core2/Core4-215.png)
![](/QuickHelp/Core2/Core4-216.png)
![](/QuickHelp/Core2/Core4-217.png)
![](/QuickHelp/Core2/Core4-218.png)
![](/QuickHelp/Core2/Core4-219.png)
![](/QuickHelp/Core2/Core4-220.png)
![](/QuickHelp/Core2/Core4-221.png)
![](/QuickHelp/Core2/Core4-222.png)
![](/QuickHelp/Core2/Core4-223.png)
![](/QuickHelp/Core2/Core4-224.png)
![](/QuickHelp/Core2/Core4-225.png)
![](/QuickHelp/Core2/Core4-226.png)
![](/QuickHelp/Core2/Core4-227.png)
![](/QuickHelp/Core2/Core4-228.png)
![](/QuickHelp/Core2/Core4-229.png)
![](/QuickHelp/Core2/Core4-230.png)
![](/QuickHelp/Core2/Core4-231.png)
![](/QuickHelp/Core2/Core4-232.png)
![](/QuickHelp/Core2/Core4-233.png)
![](/QuickHelp/Core2/Core4-234.png)
![](/QuickHelp/Core2/Core4-235.png)
![](/QuickHelp/Core2/Core4-236.png)
![](/QuickHelp/Core2/Core4-237.png)
![](/QuickHelp/Core2/Core4-238.png)
![](/QuickHelp/Core2/Core4-239.png)
![](/QuickHelp/Core2/Core4-240.png)
![](/QuickHelp/Core2/Core4-241.png)
![](/QuickHelp/Core2/Core4-242.png)
![](/QuickHelp/Core2/Core4-243.png)
![](/QuickHelp/Core2/Core4-244.png)
![](/QuickHelp/Core2/Core4-245.png)
![](/QuickHelp/Core2/Core4-246.png)
![](/QuickHelp/Core2/Core4-247.png)
![](/QuickHelp/Core2/Core4-248.png)
![](/QuickHelp/Core2/Core4-249.png)
![](/QuickHelp/Core2/Core4-250.png)
![](/QuickHelp/Core2/Core4-251.png)
![](/QuickHelp/Core2/Core4-252.png)
![](/QuickHelp/Core2/Core4-253.png)
![](/QuickHelp/Core2/Core4-254.png)
![](/QuickHelp/Core2/Core4-255.png)
![](/QuickHelp/Core2/Core4-256.png)
![](/QuickHelp/Core2/Core4-257.png)
![](/QuickHelp/Core2/Core4-258.png)
![](/QuickHelp/Core2/Core4-259.png)
![](/QuickHelp/Core2/Core4-260.png)
![](/QuickHelp/Core2/Core4-261.png)
![](/QuickHelp/Core2/Core4-262.png)
![](/QuickHelp/Core2/Core4-263.png)
![](/QuickHelp/Core2/Core4-264.png)
![](/QuickHelp/Core2/Core4-265.png)
![](/QuickHelp/Core2/Core4-266.png)
![](/QuickHelp/Core2/Core4-267.png)
![](/QuickHelp/Core2/Core4-268.png)
![](/QuickHelp/Core2/Core4-269.png)
![](/QuickHelp/Core2/Core4-270.png)
![](/QuickHelp/Core2/Core4-271.png)
![](/QuickHelp/Core2/Core4-272.png)
![](/QuickHelp/Core2/Core4-273.png)
![](/QuickHelp/Core2/Core4-274.png)
![](/QuickHelp/Core2/Core4-275.png)
![](/QuickHelp/Core2/Core4-276.png)
![](/QuickHelp/Core2/Core4-277.png)
![](/QuickHelp/Core2/Core4-278.png)
![](/QuickHelp/Core2/Core4-279.png)
![](/QuickHelp/Core2/Core4-280.png)
![](/QuickHelp/Core2/Core4-281.png)
![](/QuickHelp/Core2/Core4-282.png)
![](/QuickHelp/Core2/Core4-283.png)
![](/QuickHelp/Core2/Core4-284.png)
![](/QuickHelp/Core2/Core4-285.png)
![](/QuickHelp/Core2/Core4-286.png)
![](/QuickHelp/Core2/Core4-287.png)
![](/QuickHelp/Core2/Core4-288.png)
![](/QuickHelp/Core2/Core4-289.png)
![](/QuickHelp/Core2/Core4-290.png)
![](/QuickHelp/Core2/Core4-291.png)
![](/QuickHelp/Core2/Core4-292.png)
![](/QuickHelp/Core2/Core4-293.png)
![](/QuickHelp/Core2/Core4-294.png)
![](/QuickHelp/Core2/Core4-295.png)
![](/QuickHelp/Core2/Core4-296.png)
![](/QuickHelp/Core2/Core4-297.png)
![](/QuickHelp/Core2/Core4-298.png)
![](/QuickHelp/Core2/Core4-299.png)
![](/QuickHelp/Core2/Core4-300.png)
![](/QuickHelp/Core2/Core4-301.png)
3. Security
- 1. Introduction
- 2. Storing passwords in the Database
- 3. Creating the User model
- 4. The Repository pattern
- 5. Creating an Interface for the Repository
- 6. Creating the concrete Auth Repository and Register Method
- 7. Creating the Login repository method
- 8. Registering services in the Startup class
- 9. Creating the Register method in our Auth Controller
- 10. Using DTOs (Data Transfer Objects)
- 11. Validation in the API
- 12. Token Authentication
- 13. Creating the Login method in the API
- 14. Using the Authentication middleware
- 15. Summary of Section 3
![](/QuickHelp/Core2/Core4-302.png)
![](/QuickHelp/Core2/Core4-303.png)
![](/QuickHelp/Core2/Core4-304.png)
![](/QuickHelp/Core2/Core4-305.png)
![](/QuickHelp/Core2/Core4-306.png)
![](/QuickHelp/Core2/Core4-307.png)
![](/QuickHelp/Core2/Core4-308.png)
![](/QuickHelp/Core2/Core4-309.png)
![](/QuickHelp/Core2/Core4-310.png)
![](/QuickHelp/Core2/Core4-311.png)
![](/QuickHelp/Core2/Core4-312.png)
![](/QuickHelp/Core2/Core4-313.png)
![](/QuickHelp/Core2/Core4-314.png)
![](/QuickHelp/Core2/Core4-315.png)
![](/QuickHelp/Core2/Core4-316.png)
![](/QuickHelp/Core2/Core4-317.png)
![](/QuickHelp/Core2/Core4-318.png)
![](/QuickHelp/Core2/Core4-319.png)
![](/QuickHelp/Core2/Core4-320.png)
![](/QuickHelp/Core2/Core4-321.png)
![](/QuickHelp/Core2/Core4-322.png)
![](/QuickHelp/Core2/Core4-323.png)
![](/QuickHelp/Core2/Core4-324.png)
![](/QuickHelp/Core2/Core4-325.png)
![](/QuickHelp/Core2/Core4-326.png)
![](/QuickHelp/Core2/Core4-327.png)
![](/QuickHelp/Core2/Core4-328.png)
![](/QuickHelp/Core2/Core4-329.png)
![](/QuickHelp/Core2/Core4-330.png)
![](/QuickHelp/Core2/Core4-331.png)
![](/QuickHelp/Core2/Core4-332.png)
![](/QuickHelp/Core2/Core4-333.png)
![](/QuickHelp/Core2/Core4-334.png)
![](/QuickHelp/Core2/Core4-335.png)
![](/QuickHelp/Core2/Core4-336.png)
![](/QuickHelp/Core2/Core4-337.png)
![](/QuickHelp/Core2/Core4-338.png)
![](/QuickHelp/Core2/Core4-339.png)
![](/QuickHelp/Core2/Core4-340.png)
![](/QuickHelp/Core2/Core4-341.png)
![](/QuickHelp/Core2/Core4-342.png)
![](/QuickHelp/Core2/Core4-343.png)
![](/QuickHelp/Core2/Core4-344.png)
![](/QuickHelp/Core2/Core4-345.png)
![](/QuickHelp/Core2/Core4-346.png)
![](/QuickHelp/Core2/Core4-347.png)
![](/QuickHelp/Core2/Core4-348.png)
![](/QuickHelp/Core2/Core4-349.png)
![](/QuickHelp/Core2/Core4-350.png)
![](/QuickHelp/Core2/Core4-351.png)
![](/QuickHelp/Core2/Core4-352.png)
![](/QuickHelp/Core2/Core4-353.png)
![](/QuickHelp/Core2/Core4-354.png)
![](/QuickHelp/Core2/Core4-355.png)
![](/QuickHelp/Core2/Core4-356.png)
![](/QuickHelp/Core2/Core4-357.png)
![](/QuickHelp/Core2/Core4-358.png)
![](/QuickHelp/Core2/Core4-359.png)
![](/QuickHelp/Core2/Core4-360.png)
![](/QuickHelp/Core2/Core4-361.png)
![](/QuickHelp/Core2/Core4-362.png)
![](/QuickHelp/Core2/Core4-363.png)
![](/QuickHelp/Core2/Core4-364.png)
![](/QuickHelp/Core2/Core4-365.png)
![](/QuickHelp/Core2/Core4-366.png)
![](/QuickHelp/Core2/Core4-367.png)
![](/QuickHelp/Core2/Core4-368.png)
![](/QuickHelp/Core2/Core4-369.png)
![](/QuickHelp/Core2/Core4-370.png)
![](/QuickHelp/Core2/Core4-371.png)
![](/QuickHelp/Core2/Core4-372.png)
![](/QuickHelp/Core2/Core4-373.png)
![](/QuickHelp/Core2/Core4-374.png)
![](/QuickHelp/Core2/Core4-375.png)
![](/QuickHelp/Core2/Core4-376.png)
![](/QuickHelp/Core2/Core4-377.png)
![](/QuickHelp/Core2/Core4-378.png)
![](/QuickHelp/Core2/Core4-379.png)
![](/QuickHelp/Core2/Core4-380.png)
![](/QuickHelp/Core2/Core4-381.png)
![](/QuickHelp/Core2/Core4-382.png)
![](/QuickHelp/Core2/Core4-383.png)
![](/QuickHelp/Core2/Core4-384.png)
![](/QuickHelp/Core2/Core4-385.png)
![](/QuickHelp/Core2/Core4-386.png)
![](/QuickHelp/Core2/Core4-387.png)
![](/QuickHelp/Core2/Core4-388.png)
![](/QuickHelp/Core2/Core4-389.png)
![](/QuickHelp/Core2/Core4-390.png)
![](/QuickHelp/Core2/Core4-391.png)
![](/QuickHelp/Core2/Core4-392.png)
![](/QuickHelp/Core2/Core4-393.png)
![](/QuickHelp/Core2/Core4-394.png)
![](/QuickHelp/Core2/Core4-395.png)
![](/QuickHelp/Core2/Core4-396.png)
![](/QuickHelp/Core2/Core4-397.png)
![](/QuickHelp/Core2/Core4-398.png)
![](/QuickHelp/Core2/Core4-399.png)
![](/QuickHelp/Core2/Core4-400.png)
![](/QuickHelp/Core2/Core4-401.png)
![](/QuickHelp/Core2/Core4-402.png)
![](/QuickHelp/Core2/Core4-403.png)
![](/QuickHelp/Core2/Core4-404.png)
![](/QuickHelp/Core2/Core4-405.png)
![](/QuickHelp/Core2/Core4-406.png)
![](/QuickHelp/Core2/Core4-407.png)
![](/QuickHelp/Core2/Core4-408.png)
![](/QuickHelp/Core2/Core4-409.png)
![](/QuickHelp/Core2/Core4-410.png)
![](/QuickHelp/Core2/Core4-411.png)
![](/QuickHelp/Core2/Core4-412.png)
![](/QuickHelp/Core2/Core4-413.png)
![](/QuickHelp/Core2/Core4-414.png)
![](/QuickHelp/Core2/Core4-415.png)
![](/QuickHelp/Core2/Core4-416.png)
![](/QuickHelp/Core2/Core4-417.png)
![](/QuickHelp/Core2/Core4-418.png)
![](/QuickHelp/Core2/Core4-419.png)
![](/QuickHelp/Core2/Core4-420.png)
![](/QuickHelp/Core2/Core4-421.png)
![](/QuickHelp/Core2/Core4-422.png)
![](/QuickHelp/Core2/Core4-423.png)
![](/QuickHelp/Core2/Core4-424.png)
![](/QuickHelp/Core2/Core4-425.png)
![](/QuickHelp/Core2/Core4-426.png)
![](/QuickHelp/Core2/Core4-427.png)
![](/QuickHelp/Core2/Core4-428.png)
![](/QuickHelp/Core2/Core4-429.png)
![](/QuickHelp/Core2/Core4-430.png)
![](/QuickHelp/Core2/Core4-431.png)
![](/QuickHelp/Core2/Core4-432.png)
![](/QuickHelp/Core2/Core4-433.png)
![](/QuickHelp/Core2/Core4-434.png)
![](/QuickHelp/Core2/Core4-435.png)
![](/QuickHelp/Core2/Core4-436.png)
![](/QuickHelp/Core2/Core4-437.png)
![](/QuickHelp/Core2/Core4-438.png)
![](/QuickHelp/Core2/Core4-439.png)
![](/QuickHelp/Core2/Core4-440.png)
![](/QuickHelp/Core2/Core4-441.png)
![](/QuickHelp/Core2/Core4-442.png)
![](/QuickHelp/Core2/Core4-443.png)
![](/QuickHelp/Core2/Core4-444.png)
![](/QuickHelp/Core2/Core4-445.png)
![](/QuickHelp/Core2/Core4-446.png)
![](/QuickHelp/Core2/Core4-447.png)
![](/QuickHelp/Core2/Core4-448.png)
![](/QuickHelp/Core2/Core4-449.png)
![](/QuickHelp/Core2/Core4-450.png)
![](/QuickHelp/Core2/Core4-451.png)
![](/QuickHelp/Core2/Core4-452.png)
![](/QuickHelp/Core2/Core4-453.png)
![](/QuickHelp/Core2/Core4-454.png)
![](/QuickHelp/Core2/Core4-455.png)
![](/QuickHelp/Core2/Core4-456.png)
![](/QuickHelp/Core2/Core4-457.png)
![](/QuickHelp/Core2/Core4-458.png)
![](/QuickHelp/Core2/Core4-459.png)
![](/QuickHelp/Core2/Core4-460.png)
![](/QuickHelp/Core2/Core4-461.png)
![](/QuickHelp/Core2/Core4-462.png)
![](/QuickHelp/Core2/Core4-463.png)
![](/QuickHelp/Core2/Core4-464.png)
![](/QuickHelp/Core2/Core4-465.png)
![](/QuickHelp/Core2/Core4-466.png)
![](/QuickHelp/Core2/Core4-467.png)
![](/QuickHelp/Core2/Core4-468.png)
![](/QuickHelp/Core2/Core4-469.png)
![](/QuickHelp/Core2/Core4-470.png)
![](/QuickHelp/Core2/Core4-471.png)
![](/QuickHelp/Core2/Core4-472.png)
![](/QuickHelp/Core2/Core4-473.png)
![](/QuickHelp/Core2/Core4-474.png)
![](/QuickHelp/Core2/Core4-475.png)
![](/QuickHelp/Core2/Core4-476.png)
![](/QuickHelp/Core2/Core4-477.png)
![](/QuickHelp/Core2/Core4-478.png)
![](/QuickHelp/Core2/Core4-479.png)
![](/QuickHelp/Core2/Core4-480.png)
![](/QuickHelp/Core2/Core4-481.png)
![](/QuickHelp/Core2/Core4-482.png)
![](/QuickHelp/Core2/Core4-483.png)
![](/QuickHelp/Core2/Core4-484.png)
![](/QuickHelp/Core2/Core4-485.png)
![](/QuickHelp/Core2/Core4-486.png)
![](/QuickHelp/Core2/Core4-487.png)
![](/QuickHelp/Core2/Core4-488.png)
![](/QuickHelp/Core2/Core4-489.png)
![](/QuickHelp/Core2/Core4-490.png)
![](/QuickHelp/Core2/Core4-491.png)
![](/QuickHelp/Core2/Core4-492.png)
![](/QuickHelp/Core2/Core4-493.png)
![](/QuickHelp/Core2/Core4-494.png)
![](/QuickHelp/Core2/Core4-495.png)
![](/QuickHelp/Core2/Core4-496.png)
![](/QuickHelp/Core2/Core4-497.png)
![](/QuickHelp/Core2/Core4-498.png)
![](/QuickHelp/Core2/Core4-499.png)
![](/QuickHelp/Core2/Core4-500.png)
![](/QuickHelp/Core2/Core4-501.png)
![](/QuickHelp/Core2/Core4-502.png)
![](/QuickHelp/Core2/Core4-503.png)
![](/QuickHelp/Core2/Core4-504.png)
![](/QuickHelp/Core2/Core4-505.png)
![](/QuickHelp/Core2/Core4-506.png)
![](/QuickHelp/Core2/Core4-507.png)
![](/QuickHelp/Core2/Core4-508.png)
![](/QuickHelp/Core2/Core4-509.png)
![](/QuickHelp/Core2/Core4-510.png)
![](/QuickHelp/Core2/Core4-511.png)
![](/QuickHelp/Core2/Core4-512.png)
![](/QuickHelp/Core2/Core4-513.png)
![](/QuickHelp/Core2/Core4-514.png)
![](/QuickHelp/Core2/Core4-515.png)
![](/QuickHelp/Core2/Core4-516.png)
![](/QuickHelp/Core2/Core4-517.png)
![](/QuickHelp/Core2/Core4-518.png)
![](/QuickHelp/Core2/Core4-519.png)
![](/QuickHelp/Core2/Core4-520.png)
![](/QuickHelp/Core2/Core4-521.png)
![](/QuickHelp/Core2/Core4-522.png)
![](/QuickHelp/Core2/Core4-523.png)
![](/QuickHelp/Core2/Core4-524.png)
![](/QuickHelp/Core2/Core4-525.png)
![](/QuickHelp/Core2/Core4-526.png)
![](/QuickHelp/Core2/Core4-527.png)
![](/QuickHelp/Core2/Core4-528.png)
![](/QuickHelp/Core2/Core4-529.png)
![](/QuickHelp/Core2/Core4-530.png)
![](/QuickHelp/Core2/Core4-531.png)
![](/QuickHelp/Core2/Core4-532.png)
![](/QuickHelp/Core2/Core4-533.png)
![](/QuickHelp/Core2/Core4-534.png)
![](/QuickHelp/Core2/Core4-535.png)
![](/QuickHelp/Core2/Core4-536.png)
![](/QuickHelp/Core2/Core4-537.png)
![](/QuickHelp/Core2/Core4-538.png)
![](/QuickHelp/Core2/Core4-539.png)
![](/QuickHelp/Core2/Core4-540.png)
![](/QuickHelp/Core2/Core4-541.png)
![](/QuickHelp/Core2/Core4-542.png)
![](/QuickHelp/Core2/Core4-543.png)
![](/QuickHelp/Core2/Core4-544.png)
![](/QuickHelp/Core2/Core4-545.png)
![](/QuickHelp/Core2/Core4-546.png)
![](/QuickHelp/Core2/Core4-547.png)
![](/QuickHelp/Core2/Core4-548.png)
![](/QuickHelp/Core2/Core4-549.png)
![](/QuickHelp/Core2/Core4-550.png)
![](/QuickHelp/Core2/Core4-551.png)
![](/QuickHelp/Core2/Core4-552.png)
![](/QuickHelp/Core2/Core4-553.png)
![](/QuickHelp/Core2/Core4-554.png)
![](/QuickHelp/Core2/Core4-555.png)
![](/QuickHelp/Core2/Core4-556.png)
![](/QuickHelp/Core2/Core4-557.png)
![](/QuickHelp/Core2/Core4-558.png)
![](/QuickHelp/Core2/Core4-559.png)
![](/QuickHelp/Core2/Core4-560.png)
![](/QuickHelp/Core2/Core4-561.png)
![](/QuickHelp/Core2/Core4-562.png)
![](/QuickHelp/Core2/Core4-563.png)
![](/QuickHelp/Core2/Core4-564.png)
![](/QuickHelp/Core2/Core4-565.png)
![](/QuickHelp/Core2/Core4-566.png)
![](/QuickHelp/Core2/Core4-567.png)
![](/QuickHelp/Core2/Core4-568.png)
![](/QuickHelp/Core2/Core4-569.png)
![](/QuickHelp/Core2/Core4-570.png)
![](/QuickHelp/Core2/Core4-571.png)
![](/QuickHelp/Core2/Core4-572.png)
![](/QuickHelp/Core2/Core4-573.png)
![](/QuickHelp/Core2/Core4-574.png)
![](/QuickHelp/Core2/Core4-575.png)
![](/QuickHelp/Core2/Core4-576.png)
![](/QuickHelp/Core2/Core4-577.png)
![](/QuickHelp/Core2/Core4-578.png)
![](/QuickHelp/Core2/Core4-579.png)
![](/QuickHelp/Core2/Core4-580.png)
![](/QuickHelp/Core2/Core4-581.png)
![](/QuickHelp/Core2/Core4-582.png)
![](/QuickHelp/Core2/Core4-583.png)
![](/QuickHelp/Core2/Core4-584.png)
![](/QuickHelp/Core2/Core4-585.png)
![](/QuickHelp/Core2/Core4-586.png)
3. Security
- 1. Intoduction
- 2. Storing passwords in the Database
- 3. Creating the User model
- 4. The Repository pattern
- 5. Creating an Interface for the Repository
- 6. Creating the concrete Auth Repository and Register Method
- 7. Creating the Login repository method
- 8. Registering services in the Startup class
- 9. Creating the Register method in our Auth Controller
- 10. Using DTOs (Data Transfer Objects)
- 11. Validation in the API
- 12. Token Authentication
- 13. Creating the Login method in the API
- 14. Using the Authentication middleware
- 15. Summary of Section 3
![](/QuickHelp/Core2/Core4-989.png)
![](/QuickHelp/Core2/Core4-990.png)
![](/QuickHelp/Core2/Core4-991.png)
![](/QuickHelp/Core2/Core4-992.png)
![](/QuickHelp/Core2/Core4-993.png)
![](/QuickHelp/Core2/Core4-994.png)
![](/QuickHelp/Core2/Core4-995.png)
![](/QuickHelp/Core2/Core4-996.png)
![](/QuickHelp/Core2/Core4-997.png)
![](/QuickHelp/Core2/Core4-998.png)
![](/QuickHelp/Core2/Core4-999.png)
![](/QuickHelp/Core2/Core4-1000.png)
![](/QuickHelp/Core2/Core4-1001.png)
![](/QuickHelp/Core2/Core4-1002.png)
![](/QuickHelp/Core2/Core4-1003.png)
![](/QuickHelp/Core2/Core4-1004.png)
![](/QuickHelp/Core2/Core4-1005.png)
![](/QuickHelp/Core2/Core4-1006.png)
![](/QuickHelp/Core2/Core4-1007.png)
![](/QuickHelp/Core2/Core4-1008.png)
![](/QuickHelp/Core2/Core4-1009.png)
![](/QuickHelp/Core2/Core4-1010.png)
![](/QuickHelp/Core2/Core4-1011.png)
![](/QuickHelp/Core2/Core4-1012.png)
![](/QuickHelp/Core2/Core4-1013.png)
![](/QuickHelp/Core2/Core4-1014.png)
![](/QuickHelp/Core2/Core4-1015.png)
![](/QuickHelp/Core2/Core4-1016.png)
![](/QuickHelp/Core2/Core4-1017.png)
![](/QuickHelp/Core2/Core4-1018.png)
![](/QuickHelp/Core2/Core4-1019.png)
![](/QuickHelp/Core2/Core4-1020.png)
![](/QuickHelp/Core2/Core4-1021.png)
![](/QuickHelp/Core2/Core4-1022.png)
![](/QuickHelp/Core2/Core4-1023.png)
![](/QuickHelp/Core2/Core4-1024.png)
![](/QuickHelp/Core2/Core4-1025.png)
![](/QuickHelp/Core2/Core4-1026.png)
![](/QuickHelp/Core2/Core4-1027.png)
![](/QuickHelp/Core2/Core4-1028.png)
![](/QuickHelp/Core2/Core4-1029.png)
![](/QuickHelp/Core2/Core4-1030.png)
![](/QuickHelp/Core2/Core4-1031.png)
![](/QuickHelp/Core2/Core4-1032.png)
![](/QuickHelp/Core2/Core4-1033.png)
![](/QuickHelp/Core2/Core4-1034.png)
![](/QuickHelp/Core2/Core4-1035.png)
![](/QuickHelp/Core2/Core4-1036.png)
![](/QuickHelp/Core2/Core4-1037.png)
![](/QuickHelp/Core2/Core4-1038.png)
![](/QuickHelp/Core2/Core4-1039.png)
![](/QuickHelp/Core2/Core4-1040.png)
![](/QuickHelp/Core2/Core4-1041.png)
![](/QuickHelp/Core2/Core4-1042.png)
![](/QuickHelp/Core2/Core4-1043.png)
![](/QuickHelp/Core2/Core4-1044.png)
![](/QuickHelp/Core2/Core4-1045.png)
![](/QuickHelp/Core2/Core4-1046.png)
![](/QuickHelp/Core2/Core4-1047.png)
![](/QuickHelp/Core2/Core4-1048.png)
![](/QuickHelp/Core2/Core4-1049.png)
![](/QuickHelp/Core2/Core4-1050.png)
![](/QuickHelp/Core2/Core4-1051.png)
![](/QuickHelp/Core2/Core4-1052.png)
![](/QuickHelp/Core2/Core4-1053.png)
![](/QuickHelp/Core2/Core4-1054.png)
![](/QuickHelp/Core2/Core4-1055.png)
![](/QuickHelp/Core2/Core4-1056.png)
![](/QuickHelp/Core2/Core4-1057.png)
![](/QuickHelp/Core2/Core4-1058.png)
![](/QuickHelp/Core2/Core4-1059.png)
![](/QuickHelp/Core2/Core4-1060.png)
![](/QuickHelp/Core2/Core4-1061.png)
![](/QuickHelp/Core2/Core4-1062.png)
![](/QuickHelp/Core2/Core4-1063.png)
![](/QuickHelp/Core2/Core4-1064.png)
![](/QuickHelp/Core2/Core4-1065.png)
![](/QuickHelp/Core2/Core4-1066.png)
![](/QuickHelp/Core2/Core4-1067.png)
![](/QuickHelp/Core2/Core4-1068.png)
![](/QuickHelp/Core2/Core4-1069.png)
![](/QuickHelp/Core2/Core4-1070.png)
![](/QuickHelp/Core2/Core4-1071.png)
![](/QuickHelp/Core2/Core4-1072.png)
![](/QuickHelp/Core2/Core4-1073.png)
![](/QuickHelp/Core2/Core4-1074.png)
![](/QuickHelp/Core2/Core4-1075.png)
![](/QuickHelp/Core2/Core4-1076.png)
![](/QuickHelp/Core2/Core4-1077.png)
![](/QuickHelp/Core2/Core4-1078.png)
![](/QuickHelp/Core2/Core4-1079.png)
![](/QuickHelp/Core2/Core4-1080.png)
![](/QuickHelp/Core2/Core4-1081.png)
![](/QuickHelp/Core2/Core4-1082.png)
![](/QuickHelp/Core2/Core4-1083.png)
![](/QuickHelp/Core2/Core4-1084.png)
![](/QuickHelp/Core2/Core4-1085.png)
![](/QuickHelp/Core2/Core4-1086.png)
![](/QuickHelp/Core2/Core4-1087.png)
![](/QuickHelp/Core2/Core4-1088.png)
![](/QuickHelp/Core2/Core4-1089.png)
![](/QuickHelp/Core2/Core4-1090.png)
![](/QuickHelp/Core2/Core4-1091.png)
![](/QuickHelp/Core2/Core4-1092.png)
![](/QuickHelp/Core2/Core4-1093.png)
![](/QuickHelp/Core2/Core4-1094.png)
![](/QuickHelp/Core2/Core4-1095.png)
![](/QuickHelp/Core2/Core4-1096.png)
![](/QuickHelp/Core2/Core4-1097.png)
![](/QuickHelp/Core2/Core4-1098.png)
![](/QuickHelp/Core2/Core4-1099.png)
![](/QuickHelp/Core2/Core4-1100.png)
![](/QuickHelp/Core2/Core4-1101.png)
![](/QuickHelp/Core2/Core4-1102.png)
![](/QuickHelp/Core2/Core4-1103.png)
![](/QuickHelp/Core2/Core4-1104.png)
![](/QuickHelp/Core2/Core4-1105.png)
![](/QuickHelp/Core2/Core4-1106.png)
![](/QuickHelp/Core2/Core4-1107.png)
![](/QuickHelp/Core2/Core4-1108.png)
![](/QuickHelp/Core2/Core4-1109.png)
![](/QuickHelp/Core2/Core4-1110.png)
![](/QuickHelp/Core2/Core4-1111.png)
![](/QuickHelp/Core2/Core4-1112.png)
![](/QuickHelp/Core2/Core4-1113.png)
![](/QuickHelp/Core2/Core4-1114.png)
![](/QuickHelp/Core2/Core4-1115.png)
![](/QuickHelp/Core2/Core4-1116.png)
![](/QuickHelp/Core2/Core4-1117.png)
![](/QuickHelp/Core2/Core4-1118.png)
![](/QuickHelp/Core2/Core4-1119.png)
![](/QuickHelp/Core2/Core4-1120.png)
![](/QuickHelp/Core2/Core4-1121.png)
![](/QuickHelp/Core2/Core4-1122.png)
![](/QuickHelp/Core2/Core4-1123.png)
![](/QuickHelp/Core2/Core4-1124.png)
![](/QuickHelp/Core2/Core4-1125.png)
![](/QuickHelp/Core2/Core4-1126.png)
![](/QuickHelp/Core2/Core4-1127.png)
![](/QuickHelp/Core2/Core4-1128.png)
![](/QuickHelp/Core2/Core4-1129.png)
![](/QuickHelp/Core2/Core4-1130.png)
![](/QuickHelp/Core2/Core4-1131.png)
![](/QuickHelp/Core2/Core4-1132.png)
![](/QuickHelp/Core2/Core4-1133.png)
![](/QuickHelp/Core2/Core4-1134.png)
![](/QuickHelp/Core2/Core4-1135.png)
17. Publishing
- 1. Introduction
- 2. Using NG Build - Running our Angular app from the Kestrel server
- 3. Angular Production build with the Angular CLI
- 4. Using the Angular CLI for Ahead of Time Compilation
- 5. Installing MySQL on Mac OSX
- 6. Installing MySQL on Windows
- 7. Entity Framework Database Providers - updating the SDK to match the provider
- 8. Swapping the Database backend to MySQL
- 9. Fixing the Ignored include warnings in the API
- 10. Publishing our app to an IIS Server
- 11. Preparing a Linux server for publishing our application
- 12. Publishing the app to the Linux server
- 13. Course Wrap Up
![](/QuickHelp/Core2/Core4-587.png)
![](/QuickHelp/Core2/Core4-588.png)
![](/QuickHelp/Core2/Core4-589.png)
![](/QuickHelp/Core2/Core4-590.png)
![](/QuickHelp/Core2/Core4-591.png)
![](/QuickHelp/Core2/Core4-592.png)
![](/QuickHelp/Core2/Core4-593.png)
![](/QuickHelp/Core2/Core4-594.png)
![](/QuickHelp/Core2/Core4-595.png)
![](/QuickHelp/Core2/Core4-596.png)
![](/QuickHelp/Core2/Core4-597.png)
![](/QuickHelp/Core2/Core4-598.png)
![](/QuickHelp/Core2/Core4-599.png)
![](/QuickHelp/Core2/Core4-600.png)
![](/QuickHelp/Core2/Core4-601.png)
![](/QuickHelp/Core2/Core4-602.png)
![](/QuickHelp/Core2/Core4-603.png)
![](/QuickHelp/Core2/Core4-604.png)
![](/QuickHelp/Core2/Core4-605.png)
![](/QuickHelp/Core2/Core4-606.png)
![](/QuickHelp/Core2/Core4-607.png)
![](/QuickHelp/Core2/Core4-608.png)
![](/QuickHelp/Core2/Core4-609.png)
![](/QuickHelp/Core2/Core4-610.png)
![](/QuickHelp/Core2/Core4-611.png)
![](/QuickHelp/Core2/Core4-612.png)
![](/QuickHelp/Core2/Core4-613.png)
![](/QuickHelp/Core2/Core4-614.png)
![](/QuickHelp/Core2/Core4-615.png)
![](/QuickHelp/Core2/Core4-616.png)
![](/QuickHelp/Core2/Core4-617.png)
![](/QuickHelp/Core2/Core4-618.png)
![](/QuickHelp/Core2/Core4-619.png)
![](/QuickHelp/Core2/Core4-620.png)
![](/QuickHelp/Core2/Core4-621.png)
![](/QuickHelp/Core2/Core4-622.png)
![](/QuickHelp/Core2/Core4-623.png)
![](/QuickHelp/Core2/Core4-624.png)
![](/QuickHelp/Core2/Core4-625.png)
![](/QuickHelp/Core2/Core4-626.png)
![](/QuickHelp/Core2/Core4-627.png)
![](/QuickHelp/Core2/Core4-628.png)
![](/QuickHelp/Core2/Core4-629.png)
![](/QuickHelp/Core2/Core4-630.png)
![](/QuickHelp/Core2/Core4-631.png)
![](/QuickHelp/Core2/Core4-632.png)
![](/QuickHelp/Core2/Core4-633.png)
![](/QuickHelp/Core2/Core4-634.png)
![](/QuickHelp/Core2/Core4-635.png)
![](/QuickHelp/Core2/Core4-636.png)
![](/QuickHelp/Core2/Core4-637.png)
![](/QuickHelp/Core2/Core4-638.png)
![](/QuickHelp/Core2/Core4-639.png)
![](/QuickHelp/Core2/Core4-640.png)
![](/QuickHelp/Core2/Core4-641.png)
![](/QuickHelp/Core2/Core4-642.png)
![](/QuickHelp/Core2/Core4-643.png)
![](/QuickHelp/Core2/Core4-644.png)
![](/QuickHelp/Core2/Core4-645.png)
![](/QuickHelp/Core2/Core4-646.png)
![](/QuickHelp/Core2/Core4-647.png)
![](/QuickHelp/Core2/Core4-648.png)
![](/QuickHelp/Core2/Core4-649.png)
![](/QuickHelp/Core2/Core4-650.png)
![](/QuickHelp/Core2/Core4-651.png)
![](/QuickHelp/Core2/Core4-652.png)
![](/QuickHelp/Core2/Core4-653.png)
![](/QuickHelp/Core2/Core4-654.png)
![](/QuickHelp/Core2/Core4-655.png)
![](/QuickHelp/Core2/Core4-656.png)
![](/QuickHelp/Core2/Core4-657.png)
![](/QuickHelp/Core2/Core4-658.png)
![](/QuickHelp/Core2/Core4-659.png)
![](/QuickHelp/Core2/Core4-660.png)
![](/QuickHelp/Core2/Core4-661.png)
![](/QuickHelp/Core2/Core4-662.png)
![](/QuickHelp/Core2/Core4-663.png)
![](/QuickHelp/Core2/Core4-664.png)
![](/QuickHelp/Core2/Core4-665.png)
![](/QuickHelp/Core2/Core4-666.png)
![](/QuickHelp/Core2/Core4-667.png)
![](/QuickHelp/Core2/Core4-668.png)
![](/QuickHelp/Core2/Core4-669.png)
![](/QuickHelp/Core2/Core4-670.png)
![](/QuickHelp/Core2/Core4-671.png)
![](/QuickHelp/Core2/Core4-672.png)
![](/QuickHelp/Core2/Core4-673.png)
![](/QuickHelp/Core2/Core4-674.png)
![](/QuickHelp/Core2/Core4-675.png)
![](/QuickHelp/Core2/Core4-676.png)
![](/QuickHelp/Core2/Core4-677.png)
![](/QuickHelp/Core2/Core4-678.png)
![](/QuickHelp/Core2/Core4-679.png)
![](/QuickHelp/Core2/Core4-680.png)
![](/QuickHelp/Core2/Core4-681.png)
![](/QuickHelp/Core2/Core4-682.png)
![](/QuickHelp/Core2/Core4-683.png)
![](/QuickHelp/Core2/Core4-684.png)
![](/QuickHelp/Core2/Core4-685.png)
![](/QuickHelp/Core2/Core4-686.png)
![](/QuickHelp/Core2/Core4-687.png)
![](/QuickHelp/Core2/Core4-688.png)
![](/QuickHelp/Core2/Core4-689.png)
![](/QuickHelp/Core2/Core4-690.png)
![](/QuickHelp/Core2/Core4-691.png)
![](/QuickHelp/Core2/Core4-692.png)
![](/QuickHelp/Core2/Core4-693.png)
![](/QuickHelp/Core2/Core4-694.png)
![](/QuickHelp/Core2/Core4-695.png)
![](/QuickHelp/Core2/Core4-696.png)
![](/QuickHelp/Core2/Core4-697.png)
![](/QuickHelp/Core2/Core4-698.png)
![](/QuickHelp/Core2/Core4-699.png)
![](/QuickHelp/Core2/Core4-700.png)
![](/QuickHelp/Core2/Core4-701.png)
![](/QuickHelp/Core2/Core4-702.png)
![](/QuickHelp/Core2/Core4-703.png)
![](/QuickHelp/Core2/Core4-704.png)
![](/QuickHelp/Core2/Core4-705.png)
![](/QuickHelp/Core2/Core4-706.png)
![](/QuickHelp/Core2/Core4-707.png)
![](/QuickHelp/Core2/Core4-708.png)
![](/QuickHelp/Core2/Core4-709.png)
![](/QuickHelp/Core2/Core4-710.png)
![](/QuickHelp/Core2/Core4-711.png)
![](/QuickHelp/Core2/Core4-712.png)
![](/QuickHelp/Core2/Core4-713.png)
![](/QuickHelp/Core2/Core4-714.png)
![](/QuickHelp/Core2/Core4-715.png)
![](/QuickHelp/Core2/Core4-716.png)
![](/QuickHelp/Core2/Core4-717.png)
![](/QuickHelp/Core2/Core4-718.png)
![](/QuickHelp/Core2/Core4-719.png)
![](/QuickHelp/Core2/Core4-720.png)
![](/QuickHelp/Core2/Core4-721.png)
![](/QuickHelp/Core2/Core4-722.png)
![](/QuickHelp/Core2/Core4-723.png)
![](/QuickHelp/Core2/Core4-724.png)
![](/QuickHelp/Core2/Core4-725.png)
![](/QuickHelp/Core2/Core4-726.png)
![](/QuickHelp/Core2/Core4-727.png)
![](/QuickHelp/Core2/Core4-728.png)
![](/QuickHelp/Core2/Core4-729.png)
![](/QuickHelp/Core2/Core4-730.png)
![](/QuickHelp/Core2/Core4-731.png)
![](/QuickHelp/Core2/Core4-732.png)
![](/QuickHelp/Core2/Core4-733.png)
![](/QuickHelp/Core2/Core4-734.png)
![](/QuickHelp/Core2/Core4-735.png)
![](/QuickHelp/Core2/Core4-736.png)
![](/QuickHelp/Core2/Core4-737.png)
![](/QuickHelp/Core2/Core4-738.png)
![](/QuickHelp/Core2/Core4-739.png)
![](/QuickHelp/Core2/Core4-740.png)
![](/QuickHelp/Core2/Core4-741.png)
![](/QuickHelp/Core2/Core4-742.png)
![](/QuickHelp/Core2/Core4-743.png)
![](/QuickHelp/Core2/Core4-744.png)
![](/QuickHelp/Core2/Core4-745.png)
![](/QuickHelp/Core2/Core4-746.png)
![](/QuickHelp/Core2/Core4-747.png)
![](/QuickHelp/Core2/Core4-748.png)
![](/QuickHelp/Core2/Core4-749.png)
![](/QuickHelp/Core2/Core4-750.png)
![](/QuickHelp/Core2/Core4-751.png)
![](/QuickHelp/Core2/Core4-752.png)
![](/QuickHelp/Core2/Core4-753.png)
![](/QuickHelp/Core2/Core4-754.png)
![](/QuickHelp/Core2/Core4-755.png)
![](/QuickHelp/Core2/Core4-756.png)
![](/QuickHelp/Core2/Core4-757.png)
![](/QuickHelp/Core2/Core4-758.png)
![](/QuickHelp/Core2/Core4-759.png)
![](/QuickHelp/Core2/Core4-760.png)
![](/QuickHelp/Core2/Core4-761.png)
![](/QuickHelp/Core2/Core4-762.png)
![](/QuickHelp/Core2/Core4-763.png)
![](/QuickHelp/Core2/Core4-764.png)
![](/QuickHelp/Core2/Core4-765.png)
![](/QuickHelp/Core2/Core4-766.png)
![](/QuickHelp/Core2/Core4-767.png)
![](/QuickHelp/Core2/Core4-768.png)
![](/QuickHelp/Core2/Core4-769.png)
![](/QuickHelp/Core2/Core4-770.png)
![](/QuickHelp/Core2/Core4-771.png)
![](/QuickHelp/Core2/Core4-772.png)
![](/QuickHelp/Core2/Core4-773.png)
![](/QuickHelp/Core2/Core4-774.png)
![](/QuickHelp/Core2/Core4-775.png)
![](/QuickHelp/Core2/Core4-776.png)
![](/QuickHelp/Core2/Core4-777.png)
![](/QuickHelp/Core2/Core4-778.png)
![](/QuickHelp/Core2/Core4-779.png)
![](/QuickHelp/Core2/Core4-780.png)
![](/QuickHelp/Core2/Core4-781.png)
![](/QuickHelp/Core2/Core4-782.png)
![](/QuickHelp/Core2/Core4-783.png)
![](/QuickHelp/Core2/Core4-784.png)
![](/QuickHelp/Core2/Core4-785.png)
![](/QuickHelp/Core2/Core4-786.png)
![](/QuickHelp/Core2/Core4-787.png)
![](/QuickHelp/Core2/Core4-788.png)
![](/QuickHelp/Core2/Core4-789.png)
![](/QuickHelp/Core2/Core4-790.png)
![](/QuickHelp/Core2/Core4-791.png)
![](/QuickHelp/Core2/Core4-792.png)
![](/QuickHelp/Core2/Core4-793.png)
![](/QuickHelp/Core2/Core4-794.png)
![](/QuickHelp/Core2/Core4-795.png)
![](/QuickHelp/Core2/Core4-796.png)
![](/QuickHelp/Core2/Core4-797.png)
![](/QuickHelp/Core2/Core4-798.png)
![](/QuickHelp/Core2/Core4-799.png)
![](/QuickHelp/Core2/Core4-800.png)
![](/QuickHelp/Core2/Core4-801.png)
![](/QuickHelp/Core2/Core4-802.png)
![](/QuickHelp/Core2/Core4-803.png)
![](/QuickHelp/Core2/Core4-804.png)
![](/QuickHelp/Core2/Core4-805.png)
![](/QuickHelp/Core2/Core4-806.png)
![](/QuickHelp/Core2/Core4-807.png)
![](/QuickHelp/Core2/Core4-808.png)
![](/QuickHelp/Core2/Core4-809.png)
![](/QuickHelp/Core2/Core4-810.png)
![](/QuickHelp/Core2/Core4-811.png)
![](/QuickHelp/Core2/Core4-812.png)
![](/QuickHelp/Core2/Core4-813.png)
![](/QuickHelp/Core2/Core4-814.png)
![](/QuickHelp/Core2/Core4-815.png)
![](/QuickHelp/Core2/Core4-816.png)
![](/QuickHelp/Core2/Core4-817.png)
![](/QuickHelp/Core2/Core4-818.png)
![](/QuickHelp/Core2/Core4-819.png)
![](/QuickHelp/Core2/Core4-820.png)
![](/QuickHelp/Core2/Core4-821.png)
![](/QuickHelp/Core2/Core4-822.png)
![](/QuickHelp/Core2/Core4-823.png)
![](/QuickHelp/Core2/Core4-824.png)
![](/QuickHelp/Core2/Core4-825.png)
![](/QuickHelp/Core2/Core4-826.png)
![](/QuickHelp/Core2/Core4-827.png)
![](/QuickHelp/Core2/Core4-828.png)
![](/QuickHelp/Core2/Core4-829.png)
![](/QuickHelp/Core2/Core4-830.png)
![](/QuickHelp/Core2/Core4-831.png)
![](/QuickHelp/Core2/Core4-832.png)
![](/QuickHelp/Core2/Core4-833.png)
![](/QuickHelp/Core2/Core4-834.png)
![](/QuickHelp/Core2/Core4-835.png)
![](/QuickHelp/Core2/Core4-836.png)
![](/QuickHelp/Core2/Core4-837.png)
![](/QuickHelp/Core2/Core4-838.png)
![](/QuickHelp/Core2/Core4-839.png)
![](/QuickHelp/Core2/Core4-840.png)
![](/QuickHelp/Core2/Core4-841.png)
18. Course Updates - 22 Jul 2018
- 1. Introduction
- 2. Update the .Net Core project to .Net Core 2.1
- 3. Update the Angular application to use Angular v6
- 4. A brief overview of the updated code
- 5. Updating GIT to use a single repo for the projects
![](/QuickHelp/Core2/Core4-842.png)
![](/QuickHelp/Core2/Core4-843.png)
![](/QuickHelp/Core2/Core4-844.png)
![](/QuickHelp/Core2/Core4-845.png)
![](/QuickHelp/Core2/Core4-846.png)
![](/QuickHelp/Core2/Core4-847.png)
![](/QuickHelp/Core2/Core4-848.png)
![](/QuickHelp/Core2/Core4-849.png)
![](/QuickHelp/Core2/Core4-850.png)
![](/QuickHelp/Core2/Core4-851.png)
![](/QuickHelp/Core2/Core4-852.png)
![](/QuickHelp/Core2/Core4-853.png)
![](/QuickHelp/Core2/Core4-854.png)
![](/QuickHelp/Core2/Core4-855.png)
![](/QuickHelp/Core2/Core4-856.png)
![](/QuickHelp/Core2/Core4-857.png)
18. Course Updates - 22 Jul 2018
- 1. Introduction
- 2. Update the .Net Core project to .Net Core 2.1
- 3. Update the Angular application to use Angular v6
- 4. A brief overview of the updated code
- 5. Updating GIT to use a single repo for the projects
![](/QuickHelp/Core2/Core4-987.png)
19. Bonus - Publishing the application to Azure
![](/QuickHelp/Core2/Core4-858.png)
![](/QuickHelp/Core2/Core4-859.png)
![](/QuickHelp/Core2/Core4-860.png)
![](/QuickHelp/Core2/Core4-861.png)
![](/QuickHelp/Core2/Core4-862.png)
![](/QuickHelp/Core2/Core4-863.png)
![](/QuickHelp/Core2/Core4-864.png)
![](/QuickHelp/Core2/Core4-865.png)
![](/QuickHelp/Core2/Core4-866.png)
![](/QuickHelp/Core2/Core4-867.png)
![](/QuickHelp/Core2/Core4-868.png)
![](/QuickHelp/Core2/Core4-869.png)
![](/QuickHelp/Core2/Core4-870.png)
![](/QuickHelp/Core2/Core4-871.png)
![](/QuickHelp/Core2/Core4-872.png)
![](/QuickHelp/Core2/Core4-873.png)
![](/QuickHelp/Core2/Core4-874.png)
![](/QuickHelp/Core2/Core4-875.png)
![](/QuickHelp/Core2/Core4-876.png)
![](/QuickHelp/Core2/Core4-877.png)
![](/QuickHelp/Core2/Core4-878.png)
![](/QuickHelp/Core2/Core4-879.png)
![](/QuickHelp/Core2/Core4-880.png)
![](/QuickHelp/Core2/Core4-881.png)
![](/QuickHelp/Core2/Core4-882.png)
![](/QuickHelp/Core2/Core4-883.png)
![](/QuickHelp/Core2/Core4-884.png)
![](/QuickHelp/Core2/Core4-885.png)
![](/QuickHelp/Core2/Core4-886.png)
![](/QuickHelp/Core2/Core4-887.png)
![](/QuickHelp/Core2/Core4-888.png)
![](/QuickHelp/Core2/Core4-889.png)
![](/QuickHelp/Core2/Core4-890.png)
![](/QuickHelp/Core2/Core4-891.png)
![](/QuickHelp/Core2/Core4-892.png)
![](/QuickHelp/Core2/Core4-893.png)
![](/QuickHelp/Core2/Core4-894.png)
![](/QuickHelp/Core2/Core4-895.png)
![](/QuickHelp/Core2/Core4-896.png)
![](/QuickHelp/Core2/Core4-897.png)
![](/QuickHelp/Core2/Core4-898.png)
![](/QuickHelp/Core2/Core4-899.png)
![](/QuickHelp/Core2/Core4-900.png)
![](/QuickHelp/Core2/Core4-901.png)
![](/QuickHelp/Core2/Core4-902.png)
![](/QuickHelp/Core2/Core4-903.png)
![](/QuickHelp/Core2/Core4-904.png)
![](/QuickHelp/Core2/Core4-905.png)
![](/QuickHelp/Core2/Core4-906.png)
![](/QuickHelp/Core2/Core4-907.png)
![](/QuickHelp/Core2/Core4-908.png)
![](/QuickHelp/Core2/Core4-909.png)
![](/QuickHelp/Core2/Core4-910.png)
![](/QuickHelp/Core2/Core4-911.png)
![](/QuickHelp/Core2/Core4-912.png)
![](/QuickHelp/Core2/Core4-913.png)
![](/QuickHelp/Core2/Core4-914.png)
![](/QuickHelp/Core2/Core4-915.png)
![](/QuickHelp/Core2/Core4-916.png)
![](/QuickHelp/Core2/Core4-917.png)
![](/QuickHelp/Core2/Core4-918.png)
![](/QuickHelp/Core2/Core4-919.png)
![](/QuickHelp/Core2/Core4-920.png)
![](/QuickHelp/Core2/Core4-921.png)
![](/QuickHelp/Core2/Core4-922.png)
![](/QuickHelp/Core2/Core4-923.png)
![](/QuickHelp/Core2/Core4-924.png)
![](/QuickHelp/Core2/Core4-925.png)
![](/QuickHelp/Core2/Core4-926.png)
![](/QuickHelp/Core2/Core4-927.png)
![](/QuickHelp/Core2/Core4-928.png)
![](/QuickHelp/Core2/Core4-929.png)
![](/QuickHelp/Core2/Core4-930.png)
![](/QuickHelp/Core2/Core4-931.png)
![](/QuickHelp/Core2/Core4-932.png)
![](/QuickHelp/Core2/Core4-933.png)
![](/QuickHelp/Core2/Core4-934.png)
![](/QuickHelp/Core2/Core4-935.png)
![](/QuickHelp/Core2/Core4-936.png)
![](/QuickHelp/Core2/Core4-937.png)
![](/QuickHelp/Core2/Core4-938.png)
![](/QuickHelp/Core2/Core4-939.png)
![](/QuickHelp/Core2/Core4-940.png)
![](/QuickHelp/Core2/Core4-941.png)
![](/QuickHelp/Core2/Core4-942.png)
![](/QuickHelp/Core2/Core4-943.png)
![](/QuickHelp/Core2/Core4-944.png)
![](/QuickHelp/Core2/Core4-945.png)
![](/QuickHelp/Core2/Core4-946.png)
![](/QuickHelp/Core2/Core4-947.png)
![](/QuickHelp/Core2/Core4-948.png)
![](/QuickHelp/Core2/Core4-949.png)
![](/QuickHelp/Core2/Core4-950.png)
![](/QuickHelp/Core2/Core4-951.png)
![](/QuickHelp/Core2/Core4-952.png)
![](/QuickHelp/Core2/Core4-953.png)
![](/QuickHelp/Core2/Core4-954.png)
![](/QuickHelp/Core2/Core4-955.png)
![](/QuickHelp/Core2/Core4-956.png)
![](/QuickHelp/Core2/Core4-957.png)
![](/QuickHelp/Core2/Core4-958.png)
![](/QuickHelp/Core2/Core4-959.png)
![](/QuickHelp/Core2/Core4-960.png)
![](/QuickHelp/Core2/Core4-961.png)
![](/QuickHelp/Core2/Core4-962.png)
![](/QuickHelp/Core2/Core4-963.png)
![](/QuickHelp/Core2/Core4-964.png)
![](/QuickHelp/Core2/Core4-965.png)
![](/QuickHelp/Core2/Core4-966.png)
![](/QuickHelp/Core2/Core4-967.png)
![](/QuickHelp/Core2/Core4-968.png)
![](/QuickHelp/Core2/Core4-969.png)
![](/QuickHelp/Core2/Core4-970.png)
![](/QuickHelp/Core2/Core4-971.png)
![](/QuickHelp/Core2/Core4-972.png)
![](/QuickHelp/Core2/Core4-973.png)
![](/QuickHelp/Core2/Core4-974.png)
![](/QuickHelp/Core2/Core4-975.png)
![](/QuickHelp/Core2/Core4-976.png)
![](/QuickHelp/Core2/Core4-977.png)
![](/QuickHelp/Core2/Core4-978.png)
![](/QuickHelp/Core2/Core4-979.png)
![](/QuickHelp/Core2/Core4-980.png)
![](/QuickHelp/Core2/Core4-981.png)
![](/QuickHelp/Core2/Core4-982.png)
![](/QuickHelp/Core2/Core4-983.png)
![](/QuickHelp/Core2/Core4-984.png)
![](/QuickHelp/Core2/Core4-985.png)
![](/QuickHelp/Core2/Core4-986.png)
Comments (
)
![](http://forum.vb-net.com/GetTopicCount.png?id=588fea5e-fba2-4d8c-a4da-dbcf8dbfb11e)
<00>
<01>
<02>
<03>
<04>
<05>
<06>
<07>
<08>
<09>
<10>
<11>
<12>
<13>
<14>
<15>
<16>
<17>
<18>
<19>
<20>
<21>
<22>
<23>
Link to this page:
//www.vb-net.com/QuickHelp/Core2/Core4.htm
<SITEMAP> <MVC> <ASP> <NET> <DATA> <KIOSK> <FLEX> <SQL> <NOTES> <LINUX> <MONO> <FREEWARE> <DOCS> <ENG> <CHAT ME> <ABOUT ME> < THANKS ME> |