ATL*_*DEV 6 c# asp.net-core-mvc asp.net-core blazor
我一直在阅读有关 Razor Pages 的文章,从 JavaScript 中解放出来的想法非常引人注目。从我收集到的信息来看,虽然 Blazor 客户端使用与 ASP.NET Core 的其余部分相同的库,但它是一个单独的 ASP.NET Core Web 平台。
是否可以在 ASP.NET Core MVC 应用程序中添加 Blazor 页面?为什么不将其开发为现有 ASP.NET Core 平台的补充,而不是一个单独的平台?
cod*_*ion -2
是的。可以在 ASP.NET MVC Core 页面中运行 Blazor 客户端页面。
这只是因为客户端 Blazor 就像在 MVC Core 应用程序中拥有 React 应用程序。它们是完全不同的东西。客户端 Blazor 在浏览器中工作。这意味着 MVC 创建运行 Client Blazor 的 HTML 页面,就像 MVC 创建 HTML 页面来运行 React 应用程序一样。只需注入一些特定于框架的魔法即可。
对于 Blazor 来说,这意味着至少要添加。
<app>Loading...</app>
<script src="_framework/blazor.webassembly.js"></script>
Run Code Online (Sandbox Code Playgroud)
以及服务器上的代码。
app.UseClientSideBlazorFiles<Client.Startup>();
app.UseEndpoints(endpoints =>
{
// ...
endpoints.MapFallbackToClientSideBlazor<Client.Startup>("index.html");
});
Run Code Online (Sandbox Code Playgroud)
Microsoft 在模板中将此模型称为 Hosted Blazor。
由于 MVC 在服务器上执行,因此将 Blazor 代码作为 MVC 框架的一部分运行的唯一方法是使用服务器端 Blazor,因为它应该在服务器上执行。同样,因为 MVC 在服务器上执行。
如果您确实希望将 Blazor 作为 MVC 应用程序的一部分运行,那么您应该发布独立的客户端 Blazor 应用程序,并将输出视为您必须提供的某些 JS 库,使用标准 MVC 方式,并以某种方式注入到页面中。这仍然是可行的,但你要靠自己。
归档时间: |
|
查看次数: |
1568 次 |
最近记录: |