En prévision du début du cours "Développeur C # ASP.NET Core" , nous avons préparé une traduction traditionnelle de matériel utile.
Nous vous invitons également à un webinaire ouvert sur le thème «Différences dans les modèles de conception structurelle par des exemples». Lors du webinaire, les participants, avec un expert, examineront trois modèles de conception structurelle: mandataire, adaptateur et décorateur; et aussi écrire quelques programmes simples et les refactoriser.
introduction
Program.cs — , . Program.cs ASP.NET Core , Program.cs .NET Framework. Program.cs Startup.cs, IISIntegration IWebHostBuilder, Main
.
Global.asax ASP.NET Core. ASP.NET Core Global.asax Startup.cs.
Startup.cs — , Program.cs . . Startup .
Program.cs?
Program.cs — , . Program.cs IWebHost, -.
public class Program {
public static void Main(string[] args) {
BuildWebHost(args).Run();
}
public static IWebHost BuildWebHost(string[] args) => WebHost.CreateDefaultBuilder(args).UseStartup < startup > ().Build();
}
WebHost IWebHost, IWebHostBuilder IWebHostBuilder, . CreateDefaultBuilder()
WebHostBuilder.
UseStartup()
Startup
, -. Startup.
Build()
IWebHost, Run()
- .
Program.cs ASP.NET Core -.
public static IWebHostBuilder CreateDefaultBuilder(string[] args) {
var builder = new WebHostBuilder().UseKestrel().UseContentRoot(Directory.GetCurrentDirectory()).ConfigureAppConfiguration((hostingContext, config) => {
/* setup config */ }).ConfigureLogging((hostingContext, logging) => {
/* setup logging */ }).UseIISIntegration()
return builder;
}
UseKestrel()
, Kestrel -. Kestrel — - ASP.NET Core . Asp.Net Core, IIS (UseIISIntegration()
), .
UseIISIntegration()
, UseContentRoot()
, UseEnvironment(Development)
, UseStartup()
, Appsetting.json Environment Variable. UseContentRoot
.
loglevel, . loglevel, appsetting.json.
.ConfigureLogging(logging => { logging.SetMinimumLevel(LogLevel.Warning); })
, program.cs, .
.ConfigureKestrel((context, options) =>
{ options.Limits.MaxRequestBodySize = 20000000; });
ASP.net Core , ( IIS, -), IIS, Apache, Nginx . .
Startup?
startup.cs ? , startup.cs , , , public, private, internal. Startup. ASP.NET Core .
Startup{EnvironmentName}
, EnvironmentName
Startup (Environment Specific), // .
ASP.NET Core , Development, Production Staging. ASPNETCORE_ENVIRONMENT
(into Hosting Environment interface).
startup.cs
? , Startup.
Startup , ConfigureServices Configure, .
Startup
public class Startup {
// Use this method to add services to the container.
public void ConfigureServices(IServiceCollection services) {
...
}
// Use this method to configure the HTTP request pipeline.
public void Configure(IApplicationBuilder app) {
...
}
}
ConfigureServices
Startup, . - , ConfigureService
.
ConfigureServices
IServiceCollection
. public, .
public void ConfigureServices(IServiceCollection services)
{
services.AddMvc();
}
Configure
Configure
, HTTP-. (middleware) HTTP-. IApplicationBuilder
, IHostingEnvironment
ILoggerFactory
. - ConfigureService
, Configure
.
public void Configure(IApplicationBuilder app)
{
app.UseMvc();
}
, MVC . UseMvc()
Configure AddMvc()
ConfigureServices
. UseMvc
. (Middleware) — , Asp.net Core. , .
app.UseHttpsRedirection(); app.UseStaticFiles(); app.UseRouting(); app.UseAuthorization(); UseCookiePolicy(); UseSession();
http- Use
, Run
Map
.
Run
Run HTTP-. , , , HTTP-.
Use
( next) , HTTP- , .
Map
Map , .
app.Map("/MyDelegate", MyDelegate);
,
ASP.net Core (Dependency Injection
). , . — Startup
.
AddTransient
Transient () ; .
Scoped
Scoped — , .
Singleton
Singleton — .
startup.cs Program.cs?
: , .
, program.cs startup.cs Asp.net Core . (Environment Variable), , . , , UseIIsintegration()
UseKestrel()
.
«C# ASP.NET Core »
« ».