如何在现有的.NET MVC项目中启用/使用/配置WebAssembly Blazor? [英] How to enable/use/configure WebAssembly Blazor in existing .NET MVC Project?
本文介绍了如何在现有的.NET MVC项目中启用/使用/配置WebAssembly Blazor?的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!
问题描述
我有一个用.Net core MVC编写的Web应用程序,这是一个标准的"老式"Web应用程序,使用模型/视图/控制器模式。在这个应用程序中,我有几个复杂的表单,根据用户的选择而变化。根据用户在前几个下拉列表中选择的内容加载不同的元素。目前,我使用Vue.js成功构建了这样一个接口。因此,基本上我没有SPA应用程序,但当需要复杂的前端界面时,我偶尔会在整个应用程序中使用Vue.js。
现在客户端WebAssembly Blazor正式发布了,我想用基于Blazor的代码替换用vue.js编写的复杂表单。我已经找到了解释如何使用服务器端Blazorhere做到这一点的帖子,但是我找不到任何关于它的WebAssembly版本的内容。有人设法将客户端Web程序集Blazor集成到现有的MVC项目中吗?如果是,如何进行?
推荐答案
要将Blazor WASM设置为现有项目,您需要:
- 在ASP.NET核心项目中添加对Blazor WASM项目的引用
- 将包引用添加到Microsoft.AspNetCore.Components.WebAssembly.Server
- 在您的中间件管道中添加
UseBlazorFrameworkFiles()
- 在您的中间件管道中添加
UseStaticFiles()
- 将
MapFallbackToFile
添加到指向Blazor WASM的端点index.html
public void Configure(IApplicationBuilder app)
{
if (Environment.IsDevelopment())
{
app.UseDeveloperExceptionPage()
.UseDatabaseErrorPage();
}
else
{
app.UseExceptionHandler("/Home/Error")
.UseHsts();
}
app.UseHttpsRedirection()
.UseBlazorFrameworkFiles()
.UseStaticFiles()
.UseRouting()
.UseAuthentication()
.UseAuthorization()
.UseEndpoints(endpoints =>
{
endpoints.MapControllerRoute(
name: "default",
pattern: "{controller=Home}/{action=Index}/{id?}");
endpoints.MapFallbackToFile("index.html");
});
}
这篇关于如何在现有的.NET MVC项目中启用/使用/配置WebAssembly Blazor?的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!
查看全文