如何在现有的.NET MVC项目中启用/使用/配置WebAssembly Blazor? [英] How to enable/use/configure WebAssembly Blazor in existing .NET MVC Project?

查看:34
本文介绍了如何在现有的.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屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆