

嗨,我正在尝试掌握.NET核心3.1和Visual Studio2019中提供的模板。具体地说,我正在尝试理解拥有Web应用程序(如第一张图所示)和Blazor服务器应用程序(第二张图)之间的区别。
根据我对研究的理解,我可以确定以下几点:-两者都运行在.net核心3上-都使用razor -都运行在服务器级别-都使用“代码隐藏”的概念/结构。
但是:- web应用程序使用.cshtml - blazor服务器应用程序使用.razor
我相信blazor服务器应用程序不需要了解WebAssembly进行数据绑定的知识,并且具有使用javascript代码进行绑定等优点。我已经阅读了文档,其中介绍了"Blazor服务器应用程序“和"Blazor javascript应用程序”的优点,它们都很棒。然而,“服务器应用程序”和"Web应用程序“有惊人的相似之处。
"Web应用程序“和"Blazor服务器应用程序”之间还有什么区别?
发布于 2020-07-15 22:40:27
WebApplication使用.NetCore和Razor页面创建网页和普通HTTP请求,以便在服务器和客户端之间进行通信。例如,您仍然需要像以前一样使用JavaScript来调用方法,并在视图和模型/方法之间进行通信,还需要更新/刷新视图。它几乎是无状态的,您需要遵循传统的方法,就像我们对ASP.Net MVC所做的那样。
另一方面,Blazor有两个版本。WebAssembly和Server-side。
WASM (WebAssembly)和MONO上,代码将被下载到客户端,它带来了一些奇特的功能和离线模式等可能性。但是几乎所有的东西都会被下载到客户端,这会使第一次加载变得有点慢,还可以考虑将你的代码下载到客户端directly.localStorage和sessionStorage保持状态,并在建立新的connection).之后将其映射到新的服务器
通过使用Blazor,你几乎可以使用C#作为后端和前端来做任何事情,并且最需要使用JS。尽管可以从C#代码调用JS函数(使用JSIntrop),甚至可以从JS调用C#函数。
我希望这篇简短的解释能有所帮助。这只是对.NetCore WebApplication和Blazor的简短介绍。开发人员在选择合适的方法来构建web应用程序时,应该注意很多方面。
发布于 2020-04-11 03:00:09
Blazor server应用程序在客户端运行JavaScript,所有交互都通过SignalR在客户端和服务器之间来回传递。
Web应用程序模板设置一个Razor Pages项目。虽然它们都使用Razor作为模板引擎来生成HTML,但Razor Pages项目更类似于MVC,但没有控制器。客户端和服务器端之间的通信基于传统的HTTP请求。客户端与服务器之间的通信是基于表单posts完成的,服务器将仅使用从视图呈现的HTML进行响应。如果您需要客户端的交互性,则需要使用JavaScript来实现。
发布于 2021-04-03 13:21:19
我看过一篇文章,它很容易地描述了这两个之间的区别和他们的利弊。
Blazor WebAssembly托管模式的优势:
Blazor WebAssembly托管的缺点:
Blazor服务器托管模式的优势:
Blazor服务器托管的缺点:
,使Blazor Server应用程序能够很好地扩展
参考: https://www.pragimtech.com/blog/blazor/blazor-hosting-models/
https://stackoverflow.com/questions/61142736
复制相似问题