asp.net-mvc - 如何在 Blazor WebAssembly 托管解决方案上配置 MVC

标签 asp.net-mvc asp.net-core blazor

我有一个 Blazor WebAssembly 托管解决方案(客户端和服务器)设置,使用 IdentityServer 进行身份验证。我想做两件事......

  • 我想在服务器上设置 MVC,因为我对 MVC 更熟悉。服务器端页面的想法是用于配置文件管理和访问我不想在客户端上访问的内容。

  • Server Startup.cs 目前有
    public void ConfigureServices(IServiceCollection services)
            {
                ....Condensed
    
                services.AddControllersWithViews();
                services.AddRazorPages();
            }
    
    public void Configure(IApplicationBuilder app, IWebHostEnvironment env, DataContext dataContext)
            {
               .....Condensed
    
               app.UseRouting();
    
                app.UseIdentityServer();
                app.UseAuthentication();
                app.UseAuthorization();
    
                app.UseEndpoints(endpoints =>
                {
                    endpoints.MapRazorPages();
                    endpoints.MapControllers();
                    endpoints.MapFallbackToFile("index.html");
                });
            }
    
    
  • 在后端设置 MVC 后,如何从客户端导航到这些页面?
  • 最佳答案

    创建 WebAssembly 解决方案时,请务必选中“ASP.Net Core Hosted”框。
    这将创建三个项目:客户端、共享和服务器。
    在服务器项目中,您将找到一个 Controllers 文件夹。继续添加一个 Controller ,例如 DummyController.cs

    namespace BlazorWASM4.Server.Controllers
    {
        [ApiController]
        [Route("[controller]")]
        public class DummyController : Controller
        {
            public IActionResult Index()
            {
                return View();
            }
        }
    }
    
    然后右键单击您的 Controller 方法索引并单击“添加 View ”。然后像这样实现 View (Index.cshtml),例如:
    <h1>Dummy Page</h1>
    
    运行项目并导航到 localhost:port/Dummy
    您应该会看到您的新页面显示出来。

    关于asp.net-mvc - 如何在 Blazor WebAssembly 托管解决方案上配置 MVC,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/67321457/

    相关文章:

    windows - Docker和NET Core 2.0,无法运行docker镜像

    c# - 如何将 returnUrl 传递到 Blazor Server 应用程序中的登录页面?

    c# - 尝试在数据库表中插入新条目时出现 LINQ to SQL 异常

    javascript - 带有脚本的按钮在第二次单击后发送带有值的回发

    javascript - 在客户端缓存大量的 json 结果

    html - 在简单的幻灯片放映旁边使用 MultiItem Bootstrap Carousel SlideShow

    .net - .NET6中的RavenDB如何验证更新是否成功?

    asp.net - Blazor 服务器 : how to "watch file changes" AND "attach to Visual Studio"

    css - 在 SVG 元素上方添加标签而不使 SVG 元素移动

    c# - 为什么当我想注册第二个用户时 MVC 简单成员(member) token 返回 null?