Blazor(服务器端)中的Program.cs
和App.razor
有什么区别?经过测试,我知道App.razor
是在Program.cs
之后执行的,当我需要在App启动之前执行一个方法时,我将该方法放入了CreateHostBuilder
中。
我什么时候应该使用App.razor
和Program.cs
?我可以在Program.cs
中做什么而不能在App.razor
中做什么?(反之亦然)冒险是什么?
Program.cs
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
}
App.razor
@code
{
protected override void OnInitialized()
{
await MethodAsync();
}
private static async Task MethodAsync()
{
//body
}
}
注意: IM引用了C#代码及其工作方式
答案 0 :(得分:0)
Program.cs
设置以下内容的应用入口点:
。 ASP.NET Core主机(Blazor服务器)
。 WebAssembly主机(Blazor WebAssembly):该文件中的代码对于使用Blazor WebAssembly模板(blazorwasm)创建的应用程序是唯一的。
。 App组件是应用程序的根组件。将App组件指定为根组件集合(builder.RootComponents.Add(“ app”))的app DOM元素(...)。
。服务已添加和配置(例如,builder.Services.AddSingleton
和
App.razor
使用路由器组件设置客户端路由的应用程序的根组件。路由器组件拦截浏览器导航并呈现与请求地址匹配的页面。