- Getting Started(github)
- API(github)
- Tutorials(github)
- Your First ASP.NET Core Application on a Mac Using Visual Studio Code(github)
- Setting Up Your Development Environment
- Scaffolding Applications Using Yeoman
- Developing ASP.NET Applications on a Mac With Visual Studio Code
- Running Locally Using Kestrel
- Publishing to Azure
- Additional Resources
- Create an ASP.NET Core web app in Visual Studio Code(github)
- Building your first ASP.NET Core MVC Application(github)
- Getting started with ASP.NET Core MVC(github)
- Adding a controller(github)
- Adding a view(github)
- Adding a model(github)
- Working with SQL Server LocalDB(github)
- Controller methods and views(github)
- Adding Search(github)
- Adding a New Field(github)
- Adding Validation(github)
- Examining the Details and Delete methods(github)
- Building Your First Web API with ASP.NET Core MVC(github)
- Overview
- Install Fiddler
- Create the project
- Add a model class
- Add a repository class
- Register the repository
- Add a controller
- Getting to-do items
- Use Fiddler to call the API
- Implement the other CRUD operations
- Next steps
- 【DELAY】 Creating Backend Services for Native Mobile Applications(github)
- Publish to an Azure Web App using Visual Studio(github)
- ASP.NET Core on Nano Server(github)
- Introduction
- Setting up the Nano Server Instance
- Installing the HttpPlatformHandler Module
- Enabling the HttpPlatformHandler
- Publishing the application
- Open a Port in the Firewall
- Running the Application
- ASP.NET Core and Azure Service Fabric
- Your First ASP.NET Core Application on a Mac Using Visual Studio Code(github)
- Conceptual Overview(github)
- Introduction to ASP.NET Core(github)
- What is ASP.NET Core?
- Why build ASP.NET Core?
- Application anatomy
- Services
- Middleware
- Servers
- Web root
- Configuration
- Client-side development
- Choosing the Right .NET For You on the Server(github)
- Introduction to ASP.NET Core(github)
- Fundamentals(github)
- Application Startup(github)
- The Startup class
- The Configure method
- The ConfigureServices method
- Services Available in Startup
- Additional Resources
- Middleware(github)
- What is middleware
- Creating a middleware pipeline with IApplicationBuilder
- Built-in middleware
- Writing middleware
- Additional Resources
- Working with Static Files(github)
- Serving static files
- Enabling directory browsing
- Serving a default document
- Using the UseFileServer method
- Working with content types
- IIS Considerations
- Best practices
- Summary
- Additional Resources
- Routing(github)
- Routing Middleware
- Configuring Routing
- Template Routes
- Route Builder Extensions
- Link Generation
- Recommendations
- Diagnostics(github)
- The developer error page
- The welcome page
- Glimpse
- Logging
- Error Handling(github)
- Configuring an Exception Handling Page
- Using the Developer Exception Page
- Configuring Status Code Pages
- Limitations of Exception Handling During Client-Server Interaction
- Server Exception Handling
- Startup Exception Handling
- ASP.NET MVC Error Handling
- Globalization and localization(github)
- Make the app’s content localizable
- View localization
- DataAnnotations localization
- Provide localized resources for the languages and cultures you support
- Working with resource files
- Implement a strategy to select the language/culture for each request
- Resource file naming
- Globalization and localization terms
- Additional Resources
- Configuration(github)
- Getting and setting configuration settings
- Using the built-in providers
- Using Options and configuration objects
- Writing custom providers
- Summary
- Logging(github)
- Implementing Logging in your Application
- Configuring Logging in your Application
- Logging Recommendations
- Summary
- 【DELAY】 File Providers(github)
- Dependency Injection(github)
- What is Dependency Injection?
- Using Framework-Provided Services
- Registering Your Own Services
- Service Lifetimes and Registration Options
- Request Services
- Designing Your Services For Dependency Injection
- Replacing the default services container
- Recommendations
- Additional Resources
- Working with Multiple Environments(github)
- Development, Staging, Production
- Determining the environment at runtime
- Startup conventions
- Summary
- Additional Resources
- Managing Application State(github)
- Application State Options
- Working with HttpContext.Items
- Installing and Configuring Session
- A Working Sample Using Session
- Servers(github)
- Servers and commands
- Supported Features by Server
- IIS and IIS Express
- WebListener
- Kestrel
- Choosing a server
- Custom Servers
- Additional Reading
- Request Features(github)
- Feature interfaces
- Feature collections
- Middleware and request features
- Summary
- Additional Resources
- OWIN(github)
- Running OWIN middleware in the ASP.NET pipeline
- Using ASP.NET Hosting on an OWIN-based server
- Run ASP.NET Core on an OWIN-based server and use its WebSockets support
- OWIN keys
- Summary
- Additional Resources
- Application Startup(github)
- MVC(github)
- 【DELAY】 Overview of ASP.NET MVC(github)
- Models(github)
- Model Binding(github)
- Introduction to model binding
- How model binding works
- Customize model binding behavior with attributes
- Binding formatted data from the request body
- Model Validation(github)
- Introduction to model validation
- Validation Attributes
- Model State
- Manual validation
- Custom validation
- Client side validation
- IClientModelValidator
- Remote validation
- 【DELAY】 Formatting(github)
- 【DELAY】 Custom Formatters(github)
- Model Binding(github)
- Views(github)
- 【DELAY】 Razor Syntax(github)
- Layout(github)
- What is a Layout
- Specifying a Layout
- Importing Shared Directives
- Running Code Before Each View
- 【DELAY】 Dynamic vs Strongly Typed Views(github)
- Working with Forms(github)
- The Form Tag Helper
- The Input Tag Helper
- The Textarea Tag Helper
- The Label Tag Helper
- The Validation Tag Helpers
- The Select Tag Helper
- Additional Resources
- 【DELAY】 HTML Helpers(github)
- Tag Helpers(github)
- Introduction to Tag Helpers(github)
- What are Tag Helpers?
- What Tag Helpers provide
- Managing Tag Helper scope
- IntelliSense support for Tag Helpers
- Tag Helpers compared to HTML Helpers
- Tag Helpers compared to Web Server Controls
- Customizing the Tag Helper element font
- Additional Resources
- Authoring Tag Helpers(github)
- Getting started with Tag Helpers
- Starting the email Tag Helper
- A working email Tag Helper
- The bold Tag Helper
- Web site information Tag Helper
- Condition Tag Helper
- Inspecting and retrieving child content
- 【DELAY】 Advanced Tag Helpers(github)
- Introduction to Tag Helpers(github)
- 【DELAY】 Partial Views(github)
- Injecting Services Into Views(github)
- A Simple Example
- Populating Lookup Data
- Overriding Services
- See Also
- View Components(github)
- Introducing view components
- Creating a view component
- Invoking a view component
- Walkthrough: Creating a simple view component
- Additional Resources
- 【DELAY】 Creating a Custom View Engine(github)
- 【DELAY】 Building Mobile Specific Views(github)
- Controllers(github)
- Controllers, Actions, and Action Results(github)
- 【DELAY】 Routing to Controller Actions(github)
- 【DELAY】 Error Handling(github)
- Filters(github)
- How do filters work?
- Configuring Filters
- Authorization Filters
- Resource Filters
- Action Filters
- Exception Filters
- Result Filters
- Filters vs. Middleware
- Dependency Injection and Controllers(github)
- Dependency Injection
- Constructor Injection
- Action Injection with FromServices
- Accessing Settings from a Controller
- Testing Controller Logic(github)
- Why Test Controllers
- Unit Testing
- Integration Testing
- Areas(github)
- 【DELAY】 Working with the Application Model(github)
- Testing(github)
- Unit Testing(github)
- Getting Started with Testing
- Creating Test Projects
- Running Tests
- Additional Resources
- Integration Testing(github)
- Introduction to Integration Testing
- Integration Testing ASP.NET
- Refactoring to use Middleware
- Summary
- Additional Resources
- Testing Controller Logic(github)
- Why Test Controllers
- Unit Testing
- Integration Testing
- Unit Testing(github)
- Working with Data(github)
- Getting Started with ASP.NET Core and Entity Framework 6(github)
- Prerequisites
- Setup connection strings and dependency injection
- Migrate configuration from config to code
- Summary
- Additional Resources
- Getting Started With ASP.NET Core and Entity Framework Core
- Azure Storage(github)
- Adding Azure Storage by Using Visual Studio Connected Services(github)
- Get Started with Azure Blob storage and Visual Studio Connected Services(github)
- Get Started with Queue Storage and Visual Studio Connected Services(github)
- How to Get Started with Azure Table Storage and Visual Studio Connected Services(github)
- Getting Started with ASP.NET Core and Entity Framework 6(github)
- Client-Side Development(github)
- Using Gulp(github)
- Introducing Gulp
- Gulp Starter Tasks in Visual Studio
- Running Default Tasks
- Defining and Running a New Task
- Defining and Running Tasks in a Series
- IntelliSense
- Development, Staging, and Production Environments
- Switching Between Environments
- Task and Module Details
- Gulp Recipes
- Summary
- See Also
- Using Grunt(github)
- Preparing the application
- Configuring NPM
- Configuring Grunt
- Watching for changes
- Binding to Visual Studio Events
- Summary
- See Also
- Manage Client-Side Packages with Bower(github)
- Building Beautiful, Responsive Sites with Bootstrap(github)
- Getting Started
- Basic Templates and Features
- More Themes
- Components
- JavaScript Support
- Summary
- Knockout.js MVVM Framework(github)
- Getting Started with Knockout in ASP.NET Core
- Observables, ViewModels, and Simple Binding
- Control Flow
- Templates
- Components
- Communicating with APIs
- Summary
- Using Angular for Single Page Applications (SPAs)(github)
- What is AngularJS?
- Getting Started
- Key Components
- Angular 2.0
- Summary
- Related Resources
- Styling Applications with Less, Sass, and Font Awesome(github)
- CSS Preprocessor Languages
- Less
- Sass
- Less or Sass?
- Font Awesome
- Summary
- Bundling and Minification(github)
- Overview
- Bundling
- Minification
- Impact of Bundling and Minification
- Controlling Bundling and Minification
- See Also
- 【DELAY】 Working with a Content Delivery Network (CDN)(github)
- 【DELAY】 Responsive Design for the Mobile Web(github)
- 【DELAY】 Introducing TypeScript(github)
- Building Projects with Yeoman(github)
- Install Node.js, npm, and Yeoman
- Create an ASP.NET app
- Restore, build and run
- Specifying the client-side task runner
- Building and Running from Visual Studio
- Restoring, Building, and Hosting from the Command Line
- Adding to Your Project with Sub Generators
- Related Resources
- Using Gulp(github)
- Mobile(github)
- Publishing and Deployment(github)
- Publishing to IIS(github)
- Supported Operating Systems
- IIS Configuration
- Install the .NET Core Windows Server Hosting Bundle
- Deploy the Application
- Configure the Website in IIS
- Create a Data Protection Registry Hive
- Common Errors
- Additional Resources
- 【DELAY】 Publishing to a Windows Virtual Machine on Azure(github)
- Publishing to an Azure Web App with Continuous Deployment(github)
- Prerequisites
- Create an ASP.NET Core web app
- Create a web app in the Azure Portal
- Enable Git publishing for the new web app
- Publish your web app to Azure App Service
- Run the app in Azure
- Update your web app and republish
- View the updated web app in Azure
- Additional Resources
- Publish to a Docker Image(github)
- 【DELAY】 How to Customize Publishing(github)
- Publishing to IIS with Web Deploy using Visual Studio(github)
- How Web Publishing In Visual Studio Works(github)
- Publish to an Azure Web App using Visual Studio(github)
- Publish to a Linux Production Environment(github)
- Prerequisites
- Copy over your app
- Configure a reverse proxy server
- Monitoring our Web Application
- Start our web application on startup
- Recovering from an ungraceful shutdown
- Viewing logs
- Publishing to IIS(github)
- Hosting(github)
- Security(github)
- Authentication(github)
- Introduction to Identity(github)
- Enabling authentication using external providers(github)
- Create a New ASP.NET Core Project
- Running the Application
- Creating the app in Facebook
- Use SecretManager to store Facebook AppId and AppSecret
- Enable Facebook middleware
- Login with Facebook
- Optionally set password
- Next steps
- Account Confirmation and Password Recovery(github)
- Create a New ASP.NET Core Project
- Require SSL
- Require email confirmation
- Enable account confirmation and password recovery
- Register, confirm email, and reset password
- Require email confirmation before login
- Combine social and local login accounts
- Two-factor authentication with SMS(github)
- Create a new ASP.NET Core project
- Setup up SMS for two-factor authentication with Twilio
- Enable two-factor authentication
- Log in with two-factor authentication
- Account lockout for protecting against brute force attacks
- Debugging Twilio
- 【DELAY】 Supporting Third Party Clients using OAuth 2.0(github)
- Using Cookie Middleware without ASP.NET Core Identity(github)
- Azure Active Directory(github)
- Authorization(github)
- Introduction(github)
- Simple Authorization(github)
- Role based Authorization(github)
- Claims-Based Authorization(github)
- Custom Policy-Based Authorization(github)
- Dependency Injection in Requirement Handlers(github)
- Resource Based Authorization(github)
- View Based Authorization(github)
- Limiting identity by scheme(github)
- 【DELAY】 Authorization Filters(github)
- Data Protection(github)
- Introduction to Data Protection(github)
- Getting Started with the Data Protection APIs(github)
- Consumer APIs(github)
- Configuration(github)
- Extensibility APIs(github)
- Miscellaneous APIs(github)
- Implementation(github)
- Authenticated encryption details.(github)
- Subkey Derivation and Authenticated Encryption(github)
- Context headers(github)
- Key Management(github)
- Key Storage Providers(github)
- Key Encryption At Rest(github)
- Key Immutability and Changing Settings(github)
- Key Storage Format(github)
- Ephemeral data protection providers(github)
- Compatibility(github)
- Safe Storage of Application Secrets(github)
- Environment variables
- Secret Manager
- Installing the Secret Manager tool
- Accessing user secrets via configuration
- How the Secret Manager tool works
- Additional Resources
- 【DELAY】 Enforcing SSL(github)
- 【DELAY】 Anti-Request Forgery(github)
- 【DELAY】 Preventing Open Redirect Attacks(github)
- 【DELAY】 Preventing Cross-Site Scripting(github)
- Enabling Cross-Origin Requests (CORS)(github)
- What is “same origin”?
- Setting up CORS
- Enabling CORS with middleware
- Enabling CORS in MVC
- CORS policy options
- How CORS works
- Authentication(github)
- Performance(github)
- 【DELAY】 Measuring Application Performance(github)
- Caching(github)
- In Memory Caching(github)
- Caching Basics
- Configuring In Memory Caching
- Reading and Writing to a Memory Cache
- Cache Dependencies and Callbacks
- Other Resources
- Working with a Distributed Cache(github)
- What is a Distributed Cache
- The IDistributedCache Interface
- Using a Redis Distributed Cache
- Using a SQL Server Distributed Cache
- Recommendations
- Response Caching(github)
- What is Response Caching
- ResponseCache Attribute
- 【DELAY】 Output Caching(github)
- In Memory Caching(github)
- Migration(github)
- Migrating From ASP.NET MVC to ASP.NET Core MVC(github)
- Create the starter ASP.NET MVC project
- Create the ASP.NET Core project
- Configure the site to use MVC
- Add a controller and view
- Controllers and views
- Static content
- Gulp
- NPM
- Migrate the layout file
- Configure Bundling
- Additional Resources
- Migrating Configuration(github)
- Setup Configuration
- Migrate Configuration Settings from web.config
- Summary
- Migrating Authentication and Identity(github)
- Migrating from ASP.NET Web API(github)
- Review ASP.NET Web API Project
- Create the Destination Project
- Migrate Configuration
- Migrate Models and Controllers
- Summary
- Migrating HTTP Modules to Middleware(github)
- Handlers and modules revisited
- From handlers and modules to middleware
- Migrating module code to middleware
- Migrating module insertion into the request pipeline
- Migrating handler code to middleware
- Migrating handler insertion into the request pipeline
- Loading middleware options using the options pattern
- Loading middleware options through direct injection
- Migrating to the new HttpContext
- Additional Resources
- Migrating from ASP.NET 5 R1 to ASP.NET Core(github)
- Overview
- Creating your web application host
- WebHostBuilder API updates
- IHostingEnvironment changes
- Runtime Services Changes
- Namespace and package ID changes
- Working with IIS
- Changes in MVC
- DNX commands replaced with .NET Core tools
- Configuration
- Entity Framework
- Logging
- Visual Studio Templates
- Updating Launch Settings in Visual Studio
- Identity API updates
- Migrating From ASP.NET MVC to ASP.NET Core MVC(github)
- Contribute(github)
- [ASP.NET Contributing Guide](ASP.NET Contributing Guide)
- ASP.NET Docs Contributing Guide
- ASP.NET Docs Style Guide(github)
- Article Structure
- ReStructuredText Syntax
- Additional Reading
- Summary
QQ交流群: dotNET Studying Group: 436035237