将客户端Blazor添加到现有的ASP.NET MVC5应用程序

拥有一个现有的ASP.NET MVC5应用程序,无法一次性重写所有内容,我们如何才能开始合并(客户端)Blazor来替换该应用程序的某些部分?

编辑:我们需要有一些页面,其中的一部分是MVC5,其他部分是Blazor,这些页面对于最终用户可以无缝运行。

到目前为止,我发现最好(唯一)的选择是将Blazor托管在其他站点中,并将其作为iframe包含在原始站点中,并使用JavaScript互操作在两个站点之间进行数据通信。

我尚未找到任何示例,如果您知道任何示例或有其他可行的想法,请告诉我!

gddgv 回答:将客户端Blazor添加到现有的ASP.NET MVC5应用程序

iFrame似乎笨拙,但是据我所知,MVC 5应用程序无法引用和使用Blazor WASM应用程序。

您能否仅设置第三个代理MVC应用程序来管理两个应用程序之间的路由和状态?您可以将您的业务逻辑从当前的MVC应用程序抽象到两个项目可以共享的.Net Standard库。

如果它们都使用了相同的后端API,则无需做太多事情就可以开始转移。将所有内容移至新的Blazor客户端应用程序后,您就可以杀死MVC应用程序和代理。

这类似于实现Strangler模式以从整体Web api转移到微服务。

,

我们只是想用我们现在认为令人满意的解决方案来更新这个问题。我们已经开发出这种结合Blazor和任何其他客户端技术的方法的有效概念验证。它为Blazor应用程序和JavaScript PostMessage API使用了单独的IFrame,以避免安全性问题(来源相同)。它实际上工作得很好,并且是将旧的MVC5应用程序的某些部分替换为Blazor编写的部分的一种好方法。希望不久以后,我会在一篇博客文章中进行快速撰写。

,

312/5000 可惜只有iframe解决方案让我想起了过去的时光。 我是SPA架构的狂热者,不得不说,我在这方面看到的最佳解决方案是实现Web组件。 令人遗憾的是Blazor不支持Web组件。我希望它会很快。

本文链接:https://www.f2er.com/3110066.html

大家都在问