Program.cs和App.razor之间的差异

Program.cs和App.razor之间的差异,razor,blazor,Razor,Blazor,Blazor(服务器端)中的Program.cs和App.razor有什么区别?我测试过,我知道App.razor是在Program.cs之后执行的,当我需要在App启动前执行一个方法时,我将该方法放在CreateHostBuilder中。 我应该什么时候使用App.razor和Program.cs?在Program.cs中我能做什么,而不是在App.razor中我能做什么 Program.cs 注意:我指的是C代码及其工作原理 设置以下内容的应用程序入口点: 。ASP.NET核心主机(Blaz

Blazor(服务器端)中的
Program.cs
App.razor
有什么区别?我测试过,我知道
App.razor
是在
Program.cs
之后执行的,当我需要在App启动前执行一个方法时,我将该方法放在
CreateHostBuilder
中。 我应该什么时候使用
App.razor
Program.cs
?在
Program.cs
中我能做什么,而不是在
App.razor
中我能做什么

Program.cs

注意:我指的是C代码及其工作原理

设置以下内容的应用程序入口点:

。ASP.NET核心主机(Blazor服务器)

。WebAssembly主机(Blazor WebAssembly):此文件中的代码对于使用Blazor WebAssembly模板(blazorwasm)创建的应用程序是唯一的

。应用程序组件是应用程序的根组件。应用程序组件被指定为根组件集合(builder.RootComponents.Add(“App”))的应用程序DOM元素(…)

。添加和配置服务(例如,builder.Services.AddSingleton())

App.razor

使用路由器组件设置客户端路由的应用程序的根组件。路由器组件拦截浏览器导航并呈现与请求地址匹配的页面

public static void Main(string[] args)
    {
        CreateHostBuilder(args).Build().Run();
    }

    public static IHostBuilder CreateHostBuilder(string[] args) =>
        Host.CreateDefaultBuilder(args)
            .ConfigureWebHostDefaults(async webBuilder =>
            {
                webBuilder.UseStartup<Startup>();
                await MethodAsync();
            });

    private static async Task MethodAsync()
    {
        //body
    }
@code
{
  protected override void OnInitialized()
  {
    await MethodAsync();
  }
  private static async Task MethodAsync()
  {
     //body
  }
}