我有一个Blazor WebAssembly托管解决方案(客户端和服务器(,使用IdentityServer进行身份验证。我想做两件事。。。
- 我想在服务器上设置MVC,因为我对MVC更熟悉。服务器端页面的想法是用于配置文件管理和访问我不想在客户端上访问的内容
服务器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解决方案时,请确保选中复选框"Net Core Hosted";。
这将创建三个项目:客户端、共享和服务器。
在服务器项目中,您将找到Controllers文件夹。继续添加控制器,例如DummyControlle.cs
namespace BlazorWASM4.Server.Controllers
{
[ApiController]
[Route("[controller]")]
public class DummyController : Controller
{
public IActionResult Index()
{
return View();
}
}
}
然后右键单击控制器方法Index,然后单击"添加视图"。然后实现视图(Index.cshtml(,例如:
<h1>Dummy Page</h1>
运行项目并导航到localhost:port/Demy
你应该看到你的新页面显示出来。