Blazor 0.8.0 рдкреНрд░рдпреЛрдЧрд╛рддреНрдордХ рд░рд┐рд▓реАрдЬ рдЕрдм рдЙрдкрд▓рдмреНрдз рд╣реИ

Blazor 0.8.0 рдЕрдм рдЙрдкрд▓рдмреНрдз рд╣реИ! рдпрд╣ рд░рд┐рд▓реАрдЬрд╝ .NET рдХреЛрд░ 3.0 рдореЗрдВ рд░реЗрдЬрд░ рдШрдЯрдХреЛрдВ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдмреНрд▓реЗрдЬрд╝рд░ рдХреЛ рдЕрдкрдбреЗрдЯ рдХрд░рддрд╛ рд╣реИ рдФрд░ рдХреБрдЫ рдорд╣рддреНрд╡рдкреВрд░реНрдг рдмрдЧ рдлрд┐рдХреНрд╕ рдЬреЛрдбрд╝рддрд╛ рд╣реИред


рдмреНрд▓реЗрдЬрд╝рд░ 0.8.0 рдкреНрд░рд╛рдкреНрдд рдХрд░реЗрдВ


Blazor 0.8.0 рдХреЗ рд╕рд╛рде рдЖрд░рдВрдн рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдирд┐рдореНрдирд▓рд┐рдЦрд┐рдд рд╕реНрдерд╛рдкрд┐рдд рдХрд░реЗрдВ:


  1. .NET рдХреЛрд░ 3.0 рдкреВрд░реНрд╡рд╛рд╡рд▓реЛрдХрди 2 рдПрд╕рдбреАрдХреЗ (3.0.100-рдкреВрд░реНрд╡рд╛рд╡рд▓реЛрдХрди -010184)
  2. ASP.NET рдФрд░ рд╡реЗрдм рдбреЗрд╡рд▓рдкрдореЗрдВрдЯ рд╡рд░реНрдХрд▓реЛрдб рдХреЗ рд╕рд╛рде рд╡рд┐рдЬреБрдЕрд▓ рд╕реНрдЯреВрдбрд┐рдпреЛ 2019 (рдкреВрд░реНрд╡рд╛рд╡рд▓реЛрдХрди 2 рдпрд╛ рдмрд╛рдж рдХреЗ рд╕рдВрд╕реНрдХрд░рдг)ред
  3. рд╡рд┐рдЬреБрдЕрд▓ рд╕реНрдЯреВрдбрд┐рдпреЛ рдорд╛рд░реНрдХреЗрдЯрдкреНрд▓реЗрд╕ рд╕реЗ рдирд╡реАрдирддрдо рдмреНрд▓реЗрдЬрд╝рд░ рдПрдХреНрд╕рдЯреЗрдВрд╢рдиред
  4. рдХрдорд╛рдВрдб рд▓рд╛рдЗрди рдкрд░ рдмреНрд▓реЗрдЬрд╝рд░ рдЯреЗрдореНрдкрд▓реЗрдЯ:


    dotnet new -i Microsoft.AspNetCore.Blazor.Templates::0.8.0-preview-19104-04 

рдЖрдк рдмреНрд▓реЗрдЬрд╝рд░ рдХреЗ рд▓рд┐рдП https://blazor.net рдкрд░ рдирд┐рд░реНрджреЗрд╢, рдбреЙрдХреНрд╕ рдФрд░ рдЯреНрдпреВрдЯреЛрд░рд┐рдпрд▓ рд╢реБрд░реВ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВред


рдмреНрд▓реЗрдЬрд╝рд░ 0.8.0 рдореЗрдВ рдЕрдкрдЧреНрд░реЗрдб рдХрд░реЗрдВ


рдЕрдкрдиреЗ рдореМрдЬреВрджрд╛ Blazor рдРрдкреНрд╕ рдХреЛ Blazor 0.8.0 рдореЗрдВ рдЕрдкрдЧреНрд░реЗрдб рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдкрд╣рд▓реЗ рд╕реБрдирд┐рд╢реНрдЪрд┐рдд рдХрд░реЗрдВ рдХрд┐ рдЖрдкрдиреЗ рдКрдкрд░ рд╕реВрдЪреАрдмрджреНрдз рдкреВрд░реНрд╡рд╛рдкреЗрдХреНрд╖рд╛рдПрдБ рд╕реНрдерд╛рдкрд┐рдд рдХреА рд╣реИрдВред


рдПрдХ рд╕реНрдЯреИрдВрдбрдЕрд▓реЛрди рдмреНрд▓реЗрдЬрд╝рд░ 0.7.0 рдкрд░рд┐рдпреЛрдЬрдирд╛ рдХреЛ 0.8.0 рдореЗрдВ рдЕрдкрдЧреНрд░реЗрдб рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП:


  • рдЕрджреНрдпрддрди Blazor рд╕рдВрдХреБрд▓ рдФрд░ .NET CLI рдЙрдкрдХрд░рдг рд╕рдВрджрд░реНрдн 0.8.0-рдкреВрд░реНрд╡рд╛рд╡рд▓реЛрдХрди-19104-04ред
  • рдХрд┐рд╕реА рднреА рдкреИрдХреЗрдЬ рд╕рдВрджрд░реНрдн рдХреЛ Microsoft.AspNetCore.Blazor рдореЗрдВ рдмрджрд▓реЗрдВред
  • BlazorComponent рдХреЛ ComponentBase рдмрджрд▓реЗрдВред
  • рдЗрд╕рдХреЗ рдмрдЬрд╛рдп SetParametersAsync рдХреЛ рдУрд╡рд░рд░рд╛рдЗрдб рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдШрдЯрдХреЛрдВ рдкрд░ SetParameters рдУрд╡рд░рд░рд╛рдЗрдб рдХреЛ рдЕрдкрдбреЗрдЯ рдХрд░реЗрдВред
  • BlazorLayoutComponent рдХреЛ LayoutComponentBase рдмрджрд▓реЗрдВ
  • IBlazorApplicationBuilder рдХреЛ IComponentsApplicationBuilder рдмрджрд▓реЗрдВред
  • Microsoft.AspNetCore.Blazor.* рд▓рд┐рдП рдХрд┐рд╕реА рднреА рдХрдерди рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░реЗрдВ Microsoft.AspNetCore.Blazor.* Microsoft.AspNetCore.Components.* рд╕рд╛рде Microsoft.AspNetCore.Components.* , Microsoft.AspNetCore.Blazor.Hosting рдХреЛ рдЫреЛрдбрд╝рдХрд░ ред A.AspNetCore.Blazor.Hosting рдХреЛ Program.cs рдореЗрдВ рдЫреЛрдбрд╝ рджреЗрдВ ред
  • Index.html рдореЗрдВ рд╕рдВрджрд░реНрдн рдШрдЯрдХреЛрдВ рдХреЗ рд▓рд┐рдП рд╕реНрдХреНрд░рд┐рдкреНрдЯ рд╕рдВрджрд░реНрдн рдХреЛ рдЕрдкрдбреЗрдЯ рдХрд░реЗрдВред blazor.webassembly.js рдХреЗ рдмрдЬрд╛рдпред

рдПрдХ ASP.NET рдХреЛрд░ рдЕрдкрдЧреНрд░реЗрдб рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП 0.8.0 Blazor рдРрдк рд╣реЛрд╕реНрдЯ рдХрд┐рдпрд╛ рдЧрдпрд╛:


  • рдХреНрд▓рд╛рдЗрдВрдЯ-рд╕рд╛рдЗрдб рдмреНрд▓реЗрдЬрд╝рд░ рдкреНрд░реЛрдЬреЗрдХреНрдЯ рдХреЛ рдкрд╣рд▓реЗ рдмрддрд╛рдП рдЕрдиреБрд╕рд╛рд░ рдЕрдкрдбреЗрдЯ рдХрд░реЗрдВред
  • ASP.NET Core рдбреЙрдХреНрд╕ рдореЗрдВ рдорд╛рдЗрдЧреНрд░реЗрд╢рди рд╕реНрдЯреЗрдкреНрд╕ рдХреЛ рдлреЙрд▓реЛ рдХрд░рдХреЗ .NET Core 3.0 рдХреЛ Blazor рдРрдк рд╣реЛрд╕реНрдЯ рдХрд░рдиреЗ рд╡рд╛рд▓реЗ ASP.NET Core рдРрдк рдХреЛ рдЕрдкрдбреЗрдЯ рдХрд░реЗрдВ ред
    • рд▓рдХреНрд╖реНрдп рдлреНрд░реЗрдорд╡рд░реНрдХ рдХреЛ netcoreapp3.0 рдЕрдкрдбреЗрдЯ рдХрд░реЗрдВ
    • Microsoft.AspNetCore.App рдпрд╛ Microsoft.AspNetCore.All рдХреЗ рд▓рд┐рдП рдХреЛрдИ рднреА рдкреИрдХреЗрдЬ рд╕рдВрджрд░реНрдн рдирд┐рдХрд╛рд▓реЗрдВ
    • рдХрд┐рд╕реА рднреА рдЧреИрд░-рдмреНрд▓реЗрдЬрд╝рд░ Microsoft.AspNetCore рдХреЛ рдЕрдкрдЧреНрд░реЗрдб рдХрд░реЗрдВред * рд╕рдВрд╕реНрдХрд░рдг 3.0.0-рдкреВрд░реНрд╡рд╛рд╡рд▓реЛрдХрди-19075-0444 рдкрд░ рдкреИрдХреЗрдЬ рд╕рдВрджрд░реНрдн
    • Microsoft.AspNetCore.Razor.Design рдХреЗ рд▓рд┐рдП рдХреЛрдИ рднреА рдкреИрдХреЗрдЬ рд╕рдВрджрд░реНрдн рдирд┐рдХрд╛рд▓реЗрдВ
    • JSON рд╕рдорд░реНрдерди рдХреЛ рд╕рдХреНрд╖рдо рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП, Microsoft.AspNetCore.Mvc.NewtonsoftJson рдХреЗ рд▓рд┐рдП рдПрдХ рдкреИрдХреЗрдЬ рд╕рдВрджрд░реНрдн рдЬреЛрдбрд╝реЗрдВ рдФрд░ Startup.ConfigureServices рдХреЛ services.AddMvc().AddNewtonsoftJson() рдХреЛ рдХреЙрд▓ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдЕрдкрдбреЗрдЯ рдХрд░реЗрдВ services.AddMvc().AddNewtonsoftJson()
  • Microsoft.AspNetCore.Blazor.Server рдкреИрдХреЗрдЬ рд╕рдВрджрд░реНрдн рдХреЛ 0.8.0-рдкреВрд░реНрд╡рд╛рд╡рд▓реЛрдХрди-19104-04 рдореЗрдВ рдЕрдкрдЧреНрд░реЗрдб рдХрд░реЗрдВ
  • Microsoft.AspNetCore.Complds.Server рдореЗрдВ рдПрдХ рдкреИрдХреЗрдЬ рд╕рдВрджрд░реНрдн рдЬреЛрдбрд╝реЗрдВ
  • Startup.ConfigureServices WebAssembly рдпрд╛ рдмрд╛рдЗрдирд░реА рдбреЗрдЯрд╛ рдирд┐рд░реНрджрд┐рд╖реНрдЯ рдХрд┐рдП рдмрд┐рдирд╛ рдбрд┐рдлрд╝реЙрд▓реНрдЯ рдЕрдзрд┐рднрд╛рд░ рдХреЛ рдХреЙрд▓ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдбрд┐рдлрд╝реЙрд▓реНрдЯ рд░реВрдк рд╕реЗ рдХреЙрд▓ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдХрд┐рд╕реА рднреА рдХреЙрд▓ рдХреЛ app.AddResponseCompression рдХреЛ рд╕рд░рд▓ app.AddResponseCompression ред
  • Startup.Configure app.UseBlazorDebugging() рдХреЛ рдореМрдЬреВрджрд╛ рдХреЙрд▓ рдХреЗ рдмрд╛рдж app.UseBlazor<App.Startup>() рдХреЙрд▓ рдЬреЛрдбрд╝реЗрдВред
  • Microsoft.AspNetCore.Blazor.Server рдирд╛рдо рд╕реНрдерд╛рди рдХрд╛ рдХреЛрдИ рдЕрдирд╛рд╡рд╢реНрдпрдХ рдЙрдкрдпреЛрдЧ рдирд┐рдХрд╛рд▓реЗрдВред

рдПрдХ рдмреНрд▓реЗрдЬрд╝рд░ рдХреНрд▓рд╛рд╕ рд▓рд╛рдЗрдмреНрд░реЗрд░реА рдХреЛ 0.8.0 рдореЗрдВ рдЕрдкрдЧреНрд░реЗрдб рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП:


  • рдкреИрдХреЗрдЬ рд╕рдВрджрд░реНрднреЛрдВ рдХреЛ Microsoft.AspNetCore.Compords.Browser рдореЗрдВ рдмрджрд▓реЗрдВ рдФрд░ рд╕рдВрд╕реНрдХрд░рдгреЛрдВ рдХреЛ 3.0.0-рдкреНрд░реАрд╡реНрдпреВ-19075 рдореЗрдВ рдЕрдкрдбреЗрдЯ рдХрд░реЗрдВ -0444ред
  • рд▓рд╛рдЗрдмреНрд░реЗрд░реА рдХреЗ рд▓рд┐рдП рдкреНрд░реЛрдЬреЗрдХреНрдЯ рдлрд╝рд╛рдЗрд▓ рдореЗрдВ рдкреНрд░реЛрдЬреЗрдХреНрдЯ рдХреЛ "Microsoft.NET.Sdk.Web" рд╕реЗ SDK рдХреЛ "Microsoft.NET.SdR.Razor" рдореЗрдВ рдмрджрд▓реЗрдВред

рд╕рд░реНрд╡рд░-рд╕рд╛рдЗрдб рдмреНрд▓реЗрдЬрд╝рд░ рдЕрдм .NET рдХреЛрд░ 3.0 рдореЗрдВ ASP.NET рдХреЛрд░ рд░реЗрдЬрд░ рдЕрд╡рдпрд╡ рд╣реИ


рдЬреИрд╕рд╛ рдХрд┐ рд╣рд╛рд▓ рд╣реА рдореЗрдВ рдШреЛрд╖рдгрд╛ рдХреА рдЧрдИ рдереА , рд╕рд░реНрд╡рд░-рд╕рд╛рдЗрдб рдмреНрд▓реЗрдЬрд╝рд░ рдЕрдм .NET рдХреЛрд░ 3.0 рдореЗрдВ ASP.NET рдХреЛрд░ рд░реЗрдЬрд░ рдШрдЯрдХреЛрдВ рдХреЗ рд░реВрдк рдореЗрдВ рд╢рд┐рдкрд┐рдВрдЧ рд╣реИред рд╣рдордиреЗ ASP.NET Core 3.0 рдореЗрдВ Blazor рдШрдЯрдХ рдореЙрдбрд▓ рдХреЛ рдПрдХреАрдХреГрдд рдХрд┐рдпрд╛ рд╣реИ рдФрд░ рдЗрд╕рдХрд╛ рдирд╛рдо рдмрджрд▓рдХрд░ Razor Components рд░рдЦрд╛ рд╣реИред Blazor 0.8.0 рдЕрдм рд░реЗрдЬрд╝рд░ рдХрдВрдкреЛрдиреЗрдВрдЯреНрд╕ рдкрд░ рдмрдирд╛рдпрд╛ рдЧрдпрд╛ рд╣реИ рдФрд░ рдЖрдкрдХреЛ WebAssembly рдкрд░ рдмреНрд░рд╛рдЙрдЬрд╝рд░ рдореЗрдВ рд░реЗрдЬрд╝рд░ рдХрдВрдкреЛрдиреЗрдВрдЯреНрд╕ рдХреЛ рд╣реЛрд╕реНрдЯ рдХрд░рдиреЗ рдореЗрдВ рд╕рдХреНрд╖рдо рдмрдирд╛рддрд╛ рд╣реИред


.NET рдХреЛрд░ 3.0 рдореЗрдВ ASP.NET рдХреЛрд░ рд░реЗрдЬрд░ рдШрдЯрдХреЛрдВ рдХреЗ рд▓рд┐рдП рдПрдХ рд╕рд░реНрд╡рд░-рд╕рд╛рдЗрдб рдмреНрд▓реЗрдЬрд╝рд░ рдкрд░рд┐рдпреЛрдЬрдирд╛ рдХреЛ рдЕрдкрдЧреНрд░реЗрдб рдХрд░реЗрдВ


рдпрджрд┐ рдЖрдк рд╕рд░реНрд╡рд░-рд╕рд╛рдЗрдб рдмреНрд▓реЗрдЬрд╝рд░ рдХреЗ рд╕рд╛рде рдХрд╛рдо рдХрд░ рд░рд╣реЗ рд╣реИрдВ, рддреЛ рд╣рдо .NET рдХреЛрд░ 3.0 рдореЗрдВ ASP.NET рдХреЛрд░ рд░реЗрдЬрд░ рдШрдЯрдХреЛрдВ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдЕрдкрдЧреНрд░реЗрдб рдХрд░рдиреЗ рдХреА рд╕рд▓рд╛рд╣ рджреЗрддреЗ рд╣реИрдВред


ASP.NET рдХреЛрд░ рд░реЗрдЬрд░ рдШрдЯрдХреЛрдВ рдХреЗ рд▓рд┐рдП рд╕рд░реНрд╡рд░-рд╕рд╛рдЗрдб рдмреНрд▓реЗрдЬрд╝рд░ рдПрдкреНрд▓рд┐рдХреЗрд╢рди рдХреЛ рдЕрдкрдЧреНрд░реЗрдб рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП:


  • рдХреНрд▓рд╛рдЗрдВрдЯ-рд╕рд╛рдЗрдб рдмреНрд▓реЗрдЬрд╝рд░ рдкреНрд░реЛрдЬреЗрдХреНрдЯ рдХреЛ рдкрд╣рд▓реЗ рдмрддрд╛рдП рдЕрдиреБрд╕рд╛рд░ рдЕрдкрдбреЗрдЯ рдХрд░реЗрдВ, рдЗрд╕рдХреЗ рдЕрд▓рд╛рд╡рд╛ рд╕реНрдХреНрд░рд┐рдкреНрдЯ рдХреЗ рд╕рдВрджрд░реНрдн рдХреЛ рдЫреЛрдбрд╝рдХрд░ blazor.server.js рдХреЛ рдШрдЯрдХреЛрдВ рдХреЗ рд╕рд╛рде рдмрджрд▓реЗрдВ редserver.js
  • рдкреВрд░реНрд╡ рдореЗрдВ рд╡рд░реНрдгрд┐рдд ASP.NET рдХреЛрд░ рдРрдк рдХреЛ рд░реЗрдЬрд░ рдХрдВрдкреЛрдиреЗрдВрдЯреНрд╕ рдХреЛ .NET рдХреЛрд░ 3.0 рдкрд░ рд╣реЛрд╕реНрдЯ рдХрд░рддреЗ рд╣реБрдП рдЕрдкрдбреЗрдЯ рдХрд░реЗрдВред
  • рд╕рд░реНрд╡рд░ рдкреНрд░реЛрдЬреЗрдХреНрдЯ рдореЗрдВ:
    • Microsoft.AspNetCore.Blazor.Server рдкреИрдХреЗрдЬ рд╕рдВрджрд░реНрдн рдХреЛ 0.8.0-рдкреВрд░реНрд╡рд╛рд╡рд▓реЛрдХрди-19104-04 рдореЗрдВ рдЕрдкрдЧреНрд░реЗрдб рдХрд░реЗрдВ
    • Microsoft.AspNetCore.Complds.Server рд╕рдВрд╕реНрдХрд░рдг 3.0.0-рдкреВрд░реНрд╡рд╛рд╡рд▓реЛрдХрди-19075-0444 рдкрд░ рдПрдХ рдкреИрдХреЗрдЬ рд╕рдВрджрд░реНрдн рдЬреЛрдбрд╝реЗрдВ
    • Microsoft.AspNetCore.Blazor.Server рд╕рд╛рде Microsoft.AspNetCore.Components.Server рд▓рд┐рдП рдХрдерди рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░реЗрдВ
    • app.UseServerSideBlazor рдХреЛ app.UseRazorComponents app.UseServerSideBlazor рдФрд░ app.UseServerSideBlazor рд╕рд╛рде app.UseRazorComponents рд╕реЗ app.UseRazorComponents ред
    • app.UseStaticFiles() рдореЗрдердб рдореЗрдВ app.UseStaticFiles() рдХреЛ рдХреЙрд▓ рдХрд░рдиреЗ рд╕реЗ рдкрд╣рд▓реЗ app.UseStaticFiles() рдЬреЛрдбрд╝реЗрдВред
    • Blazor рдРрдк рдкреНрд░реЛрдЬреЗрдХреНрдЯ рд╕реЗ wwwroot рдлрд╝реЛрд▓реНрдбрд░ рдХреЛ ASP.NET рдХреЛрд░ рд╕рд░реНрд╡рд░ рдкреНрд░реЛрдЬреЗрдХреНрдЯ рдореЗрдВ рд▓реЗ рдЬрд╛рдПрдБ

ASP.NET рдХреЛрд░ рд░реЗрдЬрд░ рдШрдЯрдХреЛрдВ рдФрд░ рдХреНрд▓рд╛рдЗрдВрдЯ-рд╕рд╛рдЗрдб рдмреНрд▓реЗрдЬрд╝рд░ рдХреЗ рдмреАрдЪ рд╕реНрд╡рд┐рдЪ рдХрд░рдирд╛


рдХрднреА-рдХрднреА рд╕рд░реНрд╡рд░ рдкрд░ рдЕрдкрдиреЗ рд░реЗрдЬрд╝рд░ рдХрдВрдкреЛрдиреЗрдВрдЯреНрд╕ (ASP.NET рдХреЛрд░ рд░реЗрдЬрд╝рд░ рдХрдВрдкреЛрдиреЗрдВрдЯреНрд╕) рдХреЛ рдЪрд▓рд╛рдиреЗ рдФрд░ рдХреНрд▓рд╛рдЗрдВрдЯ (рдмреНрд▓реЗрдЬрд╝рд░) рдХреЗ рдмреАрдЪ рд╕реНрд╡рд┐рдЪ рдХрд░рдиреЗ рдореЗрдВ рд╕рдХреНрд╖рдо рд╣реЛрдирд╛ рд╕реБрд╡рд┐рдзрд╛рдЬрдирдХ рд╣реИред рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП, рдЖрдк рд╡рд┐рдХрд╛рд╕ рдХреЗ рджреМрд░рд╛рди рд╕рд░реНрд╡рд░ рдкрд░ рдЪрд▓ рд╕рдХрддреЗ рд╣реИрдВ рддрд╛рдХрд┐ рдЖрдк рдЖрд╕рд╛рдиреА рд╕реЗ рдбрд┐рдмрдЧ рдХрд░ рд╕рдХреЗрдВ, рд▓реЗрдХрд┐рди рдлрд┐рд░ рдХреНрд▓рд╛рдЗрдВрдЯ рдкрд░ рдЪрд▓рдиреЗ рдХреЗ рд▓рд┐рдП рдЕрдкрдирд╛ рдРрдк рдкреНрд░рдХрд╛рд╢рд┐рдд рдХрд░реЗрдВред


ASP.NET Core рдХреЛ рд╣реЛрд╕реНрдЯ рдХрд░рдиреЗ рд╡рд╛рд▓реЗ Blazor рдРрдк рдХреЛ рдЕрдкрдбреЗрдЯ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рддрд╛рдХрд┐ рдЗрд╕реЗ ASP.NET Core Razor Components рдРрдк рдХреЗ рд░реВрдк рдореЗрдВ рдЪрд▓рд╛рдпрд╛ рдЬрд╛ рд╕рдХреЗ:


  • рдХреНрд▓рд╛рдЗрдВрдЯ-рд╕рд╛рдЗрдб рдмреНрд▓реЗрдЬрд╝рд░ рдкреНрд░реЛрдЬреЗрдХреНрдЯ рд╕реЗ ASP.NET рдХреЛрд░ рд╕рд░реНрд╡рд░ рдкреНрд░реЛрдЬреЗрдХреНрдЯ рдХреЗ рд▓рд┐рдП wwwroot рдлрд╝реЛрд▓реНрдбрд░ рдХреЛ рд╕реНрдерд╛рдирд╛рдВрддрд░рд┐рдд рдХрд░реЗрдВред
  • рд╕рд░реНрд╡рд░ рдкреНрд░реЛрдЬреЗрдХреНрдЯ рдореЗрдВ:
    • Index . scriptver.js рдХреЗ рдмрдЬрд╛рдп рдШрдЯрдХ . webassembly.js рдХреЛ рдЗрдВрдЧрд┐рдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП index.html рдореЗрдВ рд╕реНрдХреНрд░рд┐рдкреНрдЯ рдЯреИрдЧ рдХреЛ рдЕрдкрдбреЗрдЯ рдХрд░реЗрдВред
    • Startup.ConfigureServices рд╡рд┐рдзрд┐ рдореЗрдВ services.AddRazorComponents<Client.Startup>() рд▓рд┐рдП рдПрдХ рдХреЙрд▓ рдЬреЛрдбрд╝реЗрдВред services.AddRazorComponents<Client.Startup>() ред
    • app.UseStaticFiles() рд▓рд┐рдП рдХреЙрд▓ рдХрд░рдиреЗ рд╕реЗ рдкрд╣рд▓реЗ Startup.Configure рд╡рд┐рдзрд┐ рдореЗрдВ app.UseStaticFiles() рд▓рд┐рдП рдПрдХ рдХреЙрд▓ рдЬреЛрдбрд╝реЗрдВред
    • UseBlazor рд▓рд┐рдП рдХреЙрд▓ рдХреЛ UseBlazor рд╕рд╛рде рдмрджрд▓реЗрдВред app.UseRazorComponents<Client.Startup>()

  • рдпрджрд┐ рдЖрдк рдЕрдкрдиреЗ рдШрдЯрдХреЛрдВ рдореЗрдВ рдПрдХ HttpClient рдХреЛ рдЗрдВрдЬреЗрдХреНрдЯ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдирд┐рд░реНрднрд░рддрд╛ рдЗрдВрдЬреЗрдХреНрд╢рди рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░ рд░рд╣реЗ рд╣реИрдВ, рддреЛ рдЖрдкрдХреЛ рдЕрдкрдиреЗ рд╕рд░реНрд╡рд░ рдХреЗ Startup.ConfigureServices рд╕рд░реНрд╡рд░ рд╡рд┐рдзрд┐ рдореЗрдВ рдПрдХ рд╕реЗрд╡рд╛ рдХреЗ рд░реВрдк рдореЗрдВ рдПрдХ HttpClient рдЬреЛрдбрд╝рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реЛрдЧреАред

рдмреНрд▓реЗрдЬрд╝рд░ рдкрд░рд┐рдпреЛрдЬрдирд╛рдУрдВ рдХреЗ рд▓рд┐рдП рдЯреВрд▓рд┐рдВрдЧ рдХреЛ рдЕрдм рд╡рд┐рдЬреБрдЕрд▓ рд╕реНрдЯреВрдбрд┐рдпреЛ 2019 рдХреЗ рд╕рд╛рде рд╢рд╛рдорд┐рд▓ рдХрд┐рдпрд╛ рдЧрдпрд╛ рд╣реИ


рдкрд╣рд▓реЗ Blazor рдкрд░рд┐рдпреЛрдЬрдирд╛рдУрдВ рдХреЗ рд▓рд┐рдП рдЯреВрд▓рд┐рдВрдЧ рд╕рдорд░реНрдерди рдкреНрд░рд╛рдкреНрдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдЖрдкрдХреЛ Visual Studio рдХреЗ рд▓рд┐рдП Blazor рдПрдХреНрд╕рдЯреЗрдВрд╢рди рдЗрдВрд╕реНрдЯреЙрд▓ рдХрд░рдирд╛ рд╣реЛрдЧрд╛ред рд╡рд┐рдЬреБрдЕрд▓ рд╕реНрдЯреВрдбрд┐рдпреЛ 2019 рдкреНрд░реАрд╡реНрдпреВ 2 рдХреЗ рд╕рд╛рде рд╢реБрд░реВ, рд░реЗрдЬрд╝рд░ рдХрдВрдкреЛрдиреЗрдВрдЯреНрд╕ (рдФрд░ рдЗрд╕рд▓рд┐рдП рдмреНрд▓реЗрдЬрд╝рд░ рдРрдкреНрд╕) рдХреЗ рд▓рд┐рдП рдЯреВрд▓рд┐рдВрдЧ рд╕рдкреЛрд░реНрдЯ рдкрд╣рд▓реЗ рд╕реЗ рд╣реА рдмрд┐рдирд╛ рдХрд┐рд╕реА рдЕрдиреНрдп рдЗрдВрд╕реНрдЯреЙрд▓реЗрд╢рди рдХреЗ рд╢рд╛рдорд┐рд▓ рд╣реИред Blazor рдПрдХреНрд╕рдЯреЗрдВрд╢рди рдХреЛ рдЕрдм рдХреЗрд╡рд▓ Visual Studio рдореЗрдВ Blazor рдкреНрд░реЛрдЬреЗрдХреНрдЯ рдЯреЗрдореНрдкреНрд▓реЗрдЯ рд╕реНрдерд╛рдкрд┐рдд рдХрд░рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИред


рд░рдирдЯрд╛рдЗрдо рд╕реБрдзрд╛рд░


рдмреНрд▓реЗрдЬрд╝рд░ 0.8.0 рдореЗрдВ рдХреНрд░реЛрдо рдкрд░ рдмреЗрд╣рддрд░ рд░рдирдЯрд╛рдЗрдо рдкреНрд░рджрд░реНрд╢рди рдФрд░ рдПрдХ рдмреЗрд╣рддрд░ рдЖрдИрдПрд▓ рд▓рд┐рдВрдХрд░ рдЬреИрд╕реЗ рдХреБрдЫ .NET рд░рдирдЯрд╛рдЗрдо рд╕реБрдзрд╛рд░ рд╢рд╛рдорд┐рд▓ рд╣реИрдВред рд╣рдорд╛рд░реЗ рдкреНрд░рджрд░реНрд╢рди рдмреЗрдВрдЪрдорд╛рд░реНрдХ рдореЗрдВ, рдХреНрд░реЛрдо рдкрд░ Blazor 0.8.0 рдХрд╛ рдкреНрд░рджрд░реНрд╢рди рдЕрдм рд▓рдЧрднрдЧ 25% рддреЗрдЬ рд╣реИред рдЕрдм рдЖрдк рдХрд┐рд╕реА рдЕрддрд┐рд░рд┐рдХреНрдд рд▓рд┐рдВрдХрд░ рдХреЙрдиреНрдлрд╝рд┐рдЧрд░реЗрд╢рди рдХреЗ рдмрд┐рдирд╛ рдмреНрд▓реЗрдЬрд╝рд░ рдРрдк рд╕реЗ Json.NET рдЬреИрд╕реА рдореМрдЬреВрджрд╛ рд▓рд╛рдЗрдмреНрд░реЗрд░рд┐рдпреЛрдВ рдХрд╛ рд╕рдВрджрд░реНрдн рднреА рд▓реЗ рд╕рдХрддреЗ рд╣реИрдВ:


 @functions { WeatherForecast[] forecasts; protected override async Task OnInitAsync() { var json = await Http.GetStringAsync("api/SampleData/WeatherForecasts"); forecasts = Newtonsoft.Json.JsonConvert.DeserializeObject<WeatherForecast[]>(json); } } 

рдЬреНрдЮрд╛рдд рдореБрджреНрджреЗ


рдЗрд╕ рд░рд┐рд▓реАрдЬрд╝ рдХреЗ рд╕рд╛рде рдХреБрдЫ рдЬреНрдЮрд╛рдд рд╕рдорд╕реНрдпрд╛рдПрдБ рд╣реИрдВ рдЬрд┐рдиреНрд╣реЗрдВ рдЖрдк рдЗрд╕рдореЗрдВ рдЪрд▓рд╛ рд╕рдХрддреЗ рд╣реИрдВ:


  • "рдХрд┐рд╕реА рднреА рд╕рдВрдЧрдд рд░реВрдкрд░реЗрдЦрд╛ рд╕рдВрд╕реНрдХрд░рдг рдХреЛ рдЦреЛрдЬрдирд╛ рд╕рдВрднрд╡ рдирд╣реАрдВ рдерд╛ред рдирд┐рд░реНрджрд┐рд╖реНрдЯ рд░реВрдкрд░реЗрдЦрд╛ 'Microsoft.NETCore.App', рд╕рдВрд╕реНрдХрд░рдг '2.0.0' рдирд╣реАрдВ рдорд┐рд▓рд╛ред " : рдмреНрд▓реЗрдЬрд╝рд░ рдПрдкреНрд▓рд┐рдХреЗрд╢рди рдмрдирд╛рддреЗ рд╕рдордп рдЖрдкрдХреЛ рдпрд╣ рддреНрд░реБрдЯрд┐ рджрд┐рдЦрд╛рдИ рджреЗ рд╕рдХрддреА рд╣реИ рдХреНрдпреЛрдВрдХрд┐ IL рд▓рд┐рдВрдХрд░ рдХреЛ рд╡рд░реНрддрдорд╛рди рдореЗрдВ рдЪрд▓рд╛рдиреЗ рдХреЗ рд▓рд┐рдП .NET Core 2.x рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реЛрддреА рд╣реИред рдЗрд╕ рд╕рдорд╕реНрдпрд╛ рдХреЛ рд╣рд▓ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП, рдпрд╛ рддреЛ .NET рдХреЛрд░ 2.2 рд╕реНрдерд╛рдкрд┐рдд рдХрд░реЗрдВ рдпрд╛ рдЕрдкрдиреА рдкреНрд░реЛрдЬреЗрдХреНрдЯ рдлрд╝рд╛рдЗрд▓ рдореЗрдВ <BlazorLinkOnBuild>false</BlazorLinkOnBuild> рд╕рдВрдкрддреНрддрд┐ рд╕реЗрдЯ рдХрд░рдХреЗ IL рд▓рд┐рдВрдХрд┐рдВрдЧ рдХреЛ рдЕрдХреНрд╖рдо рдХрд░реЗрдВред
  • "рдбрд┐рдкреНрд░реЗрд╢рди рдЙрддреНрдкрдиреНрди рдХрд░рдиреЗ рдореЗрдВ рдЕрд╕рдорд░реНрде, рдпрд╣ рдкрд╣рд▓реЗ рд╕реЗ рд╣реА рдЙрддреНрдкрдиреНрди рд╣реЛ рд╕рдХрддрд╛ рд╣реИред" : рд╕реНрдЯреИрдВрдбрдЕрд▓реЛрди рдмреНрд▓реЗрдЬрд╝рд░ рдРрдк рдЪрд▓рд╛рддреЗ рд╕рдордп рдЖрдкрдХреЛ рдпрд╣ рддреНрд░реБрдЯрд┐ рджрд┐рдЦрд╛рдИ рджреЗ рд╕рдХрддреА рд╣реИ рдФрд░ рдЖрдкрдиреЗ рдЕрднреА рддрдХ рдХрд┐рд╕реА рднреА .NET рдХреЛрд░ рдРрдк рдХреЗ рд▓рд┐рдП рдкреИрдХреЗрдЬ рдмрд╣рд╛рд▓ рдирд╣реАрдВ рдХрд┐рдП рд╣реИрдВред рдЗрд╕ рд╕рдорд╕реНрдпрд╛ рдХреЛ рд╣рд▓ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдХреЛрдИ .NET рдХреЛрд░ рдРрдк (рдкреВрд░реНрд╡ dotnet new console ) рдмрдирд╛рдПрдВ рдФрд░ рдлрд┐рд░ рдмреНрд▓реЗрдЬрд╝рд░ рдПрдкреНрд▓рд┐рдХреЗрд╢рди рдХреЛ рдлрд┐рд░ рд╕реЗ рдЪрд▓рд╛рдПрдБред

рдЗрди рдореБрджреНрджреЛрдВ рдХреЛ рднрд╡рд┐рд╖реНрдп рдХреЗ рдмреНрд▓реЗрдЬрд╝рд░ рдЕрдкрдбреЗрдЯ рдореЗрдВ рд╕рдВрдмреЛрдзрд┐рдд рдХрд┐рдпрд╛ рдЬрд╛рдПрдЧрд╛ред


рднрд╡рд┐рд╖реНрдп рдХреЗ рдЕрджреНрдпрддрди


рдмреНрд▓реЗрдЬрд╝рд░ рдХреА рдпрд╣ рд░рд┐рд▓реАрдЬрд╝ рдореБрдЦреНрдп рд░реВрдк рд╕реЗ ASP.NET Core 3.0 рдореЗрдВ рд░реЗрдЬрд╝рд░ рдХрдВрдкреЛрдиреЗрдВрдЯреНрд╕ рдХреЛ рдПрдХреАрдХреГрдд рдХрд░рдиреЗ рдФрд░ рдЙрд╕рдХреЗ рдмрд╛рдж рдмреНрд▓реЗрдЬрд╝рд░ рдХреЗ рдкреБрдирд░реНрдирд┐рд░реНрдорд╛рдг рдкрд░ рдХреЗрдВрджреНрд░рд┐рдд рдереАред рдЖрдЧреЗ рдмрдврд╝рддреЗ рд╣реБрдП, рд╣рдо рдкреНрд░рддреНрдпреЗрдХ .NET рдХреЛрд░ 3.0 рдЕрдкрдбреЗрдЯ рдХреЗ рд╕рд╛рде рдмреНрд▓реЗрдЬрд╝рд░ рдЕрдкрдбреЗрдЯ рдХреЛ рд╢рд┐рдк рдХрд░рдиреЗ рдХреА рдпреЛрдЬрдирд╛ рдмрдирд╛рддреЗ рд╣реИрдВред


рдмреНрд▓реЗрдЬрд╝рд░, рдФрд░ рдмреНрд░рд╛рдЙрдЬрд╝рд░ рдореЗрдВ WebAssembly рдкрд░ рд░реЗрдЬрд░ рдХрдВрдкреЛрдиреЗрдВрдЯреНрд╕ рдХреЛ рдЪрд▓рд╛рдиреЗ рдХреЗ рд▓рд┐рдП рд╕рдорд░реНрдерди, .NET рдХреЛрд░ 3.0 рдХреЗ рд╕рд╛рде рд╢рд┐рдк рдирд╣реАрдВ рдХрд░реЗрдЧрд╛, рд▓реЗрдХрд┐рди рд╣рдо рдХреБрдЫ рдмрд╛рдж рдХреА рддрд╛рд░реАрдЦ рдореЗрдВ рдмреНрд▓реЗрдЬрд╝рд░ рдХреЛ рд╢рд┐рдкрд┐рдВрдЧ рдХрд░рдиреЗ рдХреА рджрд┐рд╢рд╛ рдореЗрдВ рдХрд╛рдо рдХрд░рдирд╛ рдЬрд╛рд░реА рд░рдЦрддреЗ рд╣реИрдВред


рдкреНрд░рддрд┐рдХреНрд░рд┐рдпрд╛ рджреЗрдВ


рд╣рдореЗрдВ рдЙрдореНрдореАрдж рд╣реИ рдХрд┐ рдЖрдк рдмреНрд▓реЗрдЬрд╝рд░ рдХреЗ рдЗрд╕ рдирд╡реАрдирддрдо рдкреВрд░реНрд╡рд╛рд╡рд▓реЛрдХрди рдХрд╛ рдЖрдирдВрдж рд▓реЗрдВрдЧреЗред рдкрд┐рдЫрд▓реЗ рд░рд┐рд▓реАрдЬ рдХреЗ рд╕рд╛рде, рдЖрдкрдХреА рдкреНрд░рддрд┐рдХреНрд░рд┐рдпрд╛ рд╣рдорд╛рд░реЗ рд▓рд┐рдП рдорд╣рддреНрд╡рдкреВрд░реНрдг рд╣реИред рдпрджрд┐ рдЖрдк рд╕рдорд╕реНрдпрд╛рдУрдВ рдореЗрдВ рднрд╛рдЧ рд▓реЗрддреЗ рд╣реИрдВ рдпрд╛ рдмреНрд▓реЗрдЬрд╝рд░ рдХреА рдХреЛрд╢рд┐рд╢ рдХрд░рддреЗ рд╕рдордп рдкреНрд░рд╢реНрди рд╣реЛрддреЗ рд╣реИрдВ, рддреЛ GitHub рдкрд░ рдореБрджреНрджреЗ рджрд░реНрдЬ рдХрд░реЗрдВ ред рдпрджрд┐ рдЖрдк рдЕрдЯрдХ рдЬрд╛рддреЗ рд╣реИрдВ рдпрд╛ рд╕рд╛рдЭрд╛ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдХрд┐ рдХреИрд╕реЗ рдмреНрд▓реЗрдЬрд╝рд░ рдЖрдкрдХреЗ рд▓рд┐рдП рдХрд╛рдо рдХрд░ рд░рд╣рд╛ рд╣реИ, рддреЛ рдЖрдк рд╣рдорд╛рд░реЗ рд╕рд╛рде рдФрд░ рдЧрдЯрд░ рдореЗрдВ рдмреНрд▓реЗрдЬрд╝рд░ рд╕рдореБрджрд╛рдп рдХреЗ рд╕рд╛рде рдЪреИрдЯ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВред рдереЛрдбрд╝реА рджреЗрд░ рдХреЗ рд▓рд┐рдП рдмреНрд▓реЗрдЬрд╝рд░ рдХреЛ рдЖрдЬрд╝рдорд╛рдиреЗ рдХреЗ рдмрд╛рдж, рдХреГрдкрдпрд╛ рд╣рдореЗрдВ рдмрддрд╛рдПрдВ рдХрд┐ рдЖрдк рд╣рдорд╛рд░реЗ рдЗрди-рдкреНрд░реЙрдбрдХреНрдЯ рд╕рд░реНрд╡реЗ рдХреЛ рджреЗрдЦрдХрд░ рдХреНрдпрд╛ рд╕реЛрдЪрддреЗ рд╣реИрдВред рдмреНрд▓реЗрдЬрд╝рд░ рдкреНрд░реЛрдЬреЗрдХреНрдЯ рдЯреЗрдореНрдкреНрд▓реЗрдЯ рдореЗрдВ рд╕реЗ рдХрд┐рд╕реА рдПрдХ рдХреЛ рдЪрд▓рд╛рддреЗ рд╕рдордп рдРрдк рд╣реЛрдо рдкреЗрдЬ рдкрд░ рджрд┐рдЦрд╛рдП рдЧрдП рд╕рд░реНрд╡реЗ рд▓рд┐рдВрдХ рдкрд░ рдХреНрд▓рд┐рдХ рдХрд░реЗрдВ:


рдмреНрд▓реЗрдЬрд░ рд╕рд░реНрд╡реЗ


рдмреНрд▓реЗрдЬрд╝рд░ рдЖрдЬрд╝рдорд╛рдиреЗ рдХреЗ рд▓рд┐рдП рдзрдиреНрдпрд╡рд╛рдж!

Source: https://habr.com/ru/post/hi440544/


All Articles