Blazor Web Assembly with asp.net core hosted和Blazor Server Project是两种Blazor应用程序的类型。前者通过Web Assembly在客户端运行,而后者在服务器上运行并使用SignalR实现双向通信。 以下是两种类型应用程序的示例代码:
Blazor Web Assembly with asp.net core hosted:
启动一个新的ASP.NET Core Web Application项目并选择“API”模板。然后,右键点击项目,选择“添加”>”新项目”>“Blazor App”,并选择“Blazor WebAssembly”带有ASP.NET Core Hosted的模板。以下是示例代码:
//在Startup.cs文件中插入以下代码:
public void ConfigureServices(IServiceCollection services)
{
services.AddControllersWithViews();
services.AddRazorPages();
services.AddServerSideBlazor();
services.AddSingleton
public void Configure(IApplicationBuilder app, IWebHostEnvironment env) { if (env.IsDevelopment()) { app.UseDeveloperExceptionPage(); } else { app.UseExceptionHandler("/Error"); app.UseHsts(); }
app.UseHttpsRedirection();
app.UseStaticFiles();
app.UseRouting();
app.UseAuthorization();
app.UseEndpoints(endpoints =>
{
endpoints.MapControllers();
endpoints.MapFallbackToFile("index.html");
endpoints.MapBlazorHub();
endpoints.MapFallbackToPage("/_Host");
});
}
Blazor Server Project:
创建一个新的ASP.NET Core Web Application项目并选择“Blazor App”模板。选择“Blazor Server”的模板。以下是示例代码:
// 在Startup.cs文件中插入以下代码:
public void ConfigureServices(IServiceCollection services)
{
services.AddRazorPages();
services.AddServerSideBlazor();
services.AddSingleton
public void Configure(IApplicationBuilder app, IWebHostEnvironment env) { if (env.IsDevelopment()) { app.UseDeveloperExceptionPage(); } else { app.UseExceptionHandler("/Error"); app.UseHsts(); }
app.Use