Hands-On Full:Stack Web Development with ASP.NET Core
上QQ阅读APP看书,第一时间看更新

Different startups for different environments

Applications run in different environments, such as development, staging, and deployment:

  • Development environment: Where developers run their freshly written code; this is usually their own machine.
  • Staging environment: An environment similar to the production environment, but not open to the public. Used to test the application on similar conditions as the production environment.
  • Production environment: Where the application runs publicly, usually on the cloud or a hosting company.

Every environment has a different set of configurations — for example, in development, logging will be set to verbose mode, meaning that all logs should be written, while in production, logging will be set to warning mode, so only warnings and errors will be logged.

ASP.NET Core supports supplying different Startup classes for each environment. To do this, you can create different classes with names following the convention of Startup{Environment Name}. For example, StartupDevelopment will run under the development environment and StatupProduction will run under the production environment.

The current environment is set via the ASPNETCORE_ENVIRONMENT environment variable, which you can change based on the environment you run on - Development, Testing, Production and so on.