In Erwartung des Beginns des Kurses "C # ASP.NET Core-Entwickler" haben wir eine traditionelle Übersetzung nützlichen Materials vorbereitet.
Wir laden Sie auch zu einem offenen Webinar zum Thema "Unterschiede in strukturellen Entwurfsmustern anhand von Beispielen" ein. Während des Webinars werden die Teilnehmer zusammen mit einem Experten drei strukturelle Entwurfsmuster betrachten: Proxy, Adapter und Dekorateur; und schreiben Sie auch einige einfache Programme und überarbeiten Sie sie.
Einführung
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()
.