我和我的团队已经获得资金,开始开发企业级web应用程序(不会详细介绍它的功能).该应用程序将有许多独立的网页,但其中两个网页更加集中,而且非常沉重——沉重,就像许多用户交互、显示大量数据的模态、websocket连接、聊天等.

我已经被指派为该项目的首席架构师,所以我正在对最新的Web框架进行一些研究.对于后端,我们已经做了一些测试,并决定使用Azure SQL平台.到目前为止,我很喜欢已经和正在对带有Core2.0的ASP.NET所做的改进.特别是Razor引擎,而不是以前版本的ASP.NET MVC.

我想就"新"剃须刀与Angular/React之类的产品取得一些专家意见.我更关心表现.Core 2.0 Razor如何支持客户端渲染框架?这些差异可以忽略吗?我们的应用目标是潜在的1000000名用户(大约100000名并发用户).

提前谢谢!

推荐答案

我们最终使用了一个有Angular 的前端和一个ASP.NET核心API后端,使用Azure SQL.我们测试了Core剃须刀,虽然比传统剃须刀更好,但最终Angular对我们来说要快得多.就用户体验而言,Angular(或React)在性能上要高得多.我们发现Angular的模型绑定方面是服务器端渲染的一个巨大优势.然而,使用Razor(或通常的服务器端渲染)确实有助于提高数据的整体完整性,并且有助于更好地将数据从前端转换到后端.前端框架和API之间存在真正的脱节.传递给服务器的所有数据都必须转换为类型化对象——这意味着您必须管理两个单独的POCO模型集.如果服务器对象和前端对象不对齐,这可能会导致问题.目前,实体框架核心还不是很成熟,所以我们在更新对象、查询对象(包括子对象)等方面存在问题.

总的来说,到目前为止,这个设置对我们来说非常好!如果你对React更满意的话,我想React会是Angular的类似替代品.我必须学习Angular ,这是一个非常容易的过渡,我现在喜欢它!

Asp.net相关问答推荐

如何从 ASP.NET 中的代码隐藏文件访问 IFRAME?

使用进程外会话状态的 ASP.NET 应用程序中的 SQL Server 连接问题

如何为发布模式设置调试错误

OnCheckedChanged 事件未触发

使用 jQuery 验证插件匹配两个字段

如何在集线器类之外获取 SignalR 用户连接 ID?

Response.Redirect 使用 ~ 路径

返回值使用 String result=Command.ExecuteScalar() 结果返回 null 时发生错误

显示单选按钮列表内联

Web Api 参数始终为空

如何防止 XXE 攻击(.NET 中的 XmlDocument)

*.csproj 中的 usevshostingprocess 是什么?

ASP.net 中是否有 after Page_Load 事件

无法在 IIS 中启动网站 - W3SVC 正在运行

如何判断本地主机

避免在 ASP.NET MVC 中使用会话状态是一种好习惯吗?如果是,为什么以及如何?

LinkBut​​ton 向 OnClick 后面的代码发送值

解耦 ASP.NET MVC 5 标识以允许实现分层应用程序

ASP.NET 网格视图与列表视图

在没有等待 #2 的情况下调用异步方法