ASP.NET Core 8 的 Web App

2023-09-02 12:54:38

Web App

Web App 与 Web API 的不同之处在于包含 UI 部分,所谓的 UI 就是 HTML 页面。
Web App 支持几种渲染HTML 的方式:

  • 服务端渲染
  • 客户端渲染
  • 混合渲染

服务端渲染

服务端渲染UI是在浏览器请求的时候,服务端生成 HTML,然后返回给浏览器。

优点是:

  • 减轻客户端的压力
    • 服务端生成 HTML,适配各种浏览器
    • 极少从 Client 端拉取 JS 代码
  • 可以保护服务端的数据和安全
    • 可以保护服务端的资源,包括数据库访问,API 接口等。
  • 可以针对搜索引擎进行优化

缺点是:

  • 对服务端的压力很大,包括 CPU 和内存
  • 用户交互需要从服务端绕一圈生成 UI

一般用于:

  • 数据只读的网站
  • 静态网页
  • 管理系统

ASP.NET Core 8 支持的服务端渲染技术:

  • ASP.NET Core Razor Pages
  • ASP.NET Core MVC

ASP.NET Core Razor Pages

Razor Pages 是基于页面的模型,可以用于基于页面或者基于 Form 的网站。
Razor Pages的优点:

  • 页面的代码都和页面一起。类似 xaml 和 xaml.cs,这里是 cshtml 和 cshtml.cs
  • View 的逻辑和 View 一起,逻辑清晰。
  • 方便分组 View。

ASP.NET Core MVC

ASP.NET Core MVC 使用 MVC 架构模式,分成 Models, Views 和 Controllers。
客户端的请求发送到Controllers,Controllers处理请求,然后根据Models返回Views。
MVC 的优点:

  • 方便开发大型网站
  • 结构清晰,职责分离
  • 松耦合

客户端渲染

客户端渲染UI是在客户端动态渲染 UI,直接更新浏览器 DOM。
优点是:

  • 可以实时交换,不需要从服务端绕一圈。
  • 不需要提交请求到服务端就可以增量更新DOM。
  • 支持离线运行。
  • 减轻服务端的压力和成本。

缺点是:

  • 第一次加载时,需要把代码下载到本地运行。

ASP.NET Core 8 支持的客户端渲染技术:

  • Blazor WebAssembly
  • ASP.NET Core Single Page Application (SPA) with Angular | React | Vue

SPA with Angular | React | Vue

前后端分离。
优点是:

  • 浏览器提供 JS 的运行环境。
  • 良好的社区和生态系统

缺点是:

  • 要学习更多语言和框架
更多推荐

day1---9.15---qt

头文件:#ifndefZY1_H#defineZY1_H//防止文件重复包含#include<QMainWindow>//父类的头文件classzy1:publicQMainWindow//自定义自己的界面类,公共继承自QWidget,父类中重写了绘制事件处理函数{Q_OBJECT//信号与槽的元对象,没有这个对象,信

基于springboot实现“闲一品”交易平台电商系统项目【项目源码+论文说明】分享

基于springboot实现“闲一品”交易平台电商系统项目摘要随着科学技术的飞速发展,社会的方方面面、各行各业都在努力与现代的先进技术接轨,通过科技手段来提高自身的优势,闲一品交易平台当然也不能排除在外。闲一品交易平台是以实际运用为开发背景,运用软件工程原理和开发方法,采用springboot框架构建的一个管理系统。整

TCP/IP协议栈的心跳、丢包重传、连接超时机制实例详解

大家好,本文结合具体的问题实例,详细讲解一下TCP/IP协议栈的心跳机制、丢包重传机制等内容,给大家提供一个借鉴和参考。1、问题概述虽然软件底层模块在网络恢复后能自动重连上服务器,但会议因为网络问题已经退出,需要重新加入会议。因为客户特殊的网络运行环境,会频繁出现网络抖动不稳定的情况,客户要求必须要实现60秒内网络恢复

【100天精通Python】Day63:Python可视化_Matplotlib绘制子图,子图网格布局属性设置等示例+代码

目录1基本子图绘制示例2子图网格布局3调整子图的尺寸4多行多列的子图布局5子图之间的共享轴6绘制多个子图类型7实战:绘制一个大图,里面包含6个不同类别的子图,不均匀布局。绘制子图(subplots)是在Matplotlib中创建多个子图的常见任务。通过子图,您可以将多个图形放置在同一图表中,以便比较不同的数据或可视化多

sublime编辑latex 出现参考文献无法编译报错:citation “...” undefined

问题描述使用sublime编译latex文件时,参考文献按照常规的方式放好,ctrl+B编译的时候,显示找不到参考文献,编译出的pdf文件也没有references:但是把文件放到overleaf上就可以直接编译出来,说明是本地编译器的问题。解决方案1.编辑LaTeXTools插件的编译脚本我电脑的路径为C:\User

生产数据追溯产线管理看板助力企业实现产品质量追踪

在现代制造业中,企业对于产品质量的追踪和管理变得越来越重要。产品质量的好坏直接关系到企业的声誉和客户满意度。然而,传统的生产管理方式往往无法提供足够的数据和信息来进行全面的质量追踪。生产看板管理系统的出现为企业解决了这一难题。通过实时的数据采集和分析,企业可以追溯每个产品的生产过程,了解每个环节的质量控制情况。这些数据

攻防世界-web-easyphp

1.题目描述打开链接,可以看到如下代码2.思路分析代码都给出来了,接下来就是理解代码的含义了,从代码中不难发现,总共传入三个参数a,b,c,分别需要满足以下条件:2.1a的长度小于等于3,但是转换成int后需要大于60000002.2对b计算md5值,md5的一部分为’8b184b’2.3c是一个json对象,其中c[

7-1_MSPI_NANDFLASH SDK例程详解

1.代码示例路径PRJ_M66_4.3.3\boards\apollo4l_blue_eb\examples\interfaces\mspi_ds35x1ga_quad_example\src\mspi_ds35x1ga_quad_example.c本文中主要讲解初始化流程内容2.MSPI通信示意图SCK(Serial

JavaScript系列从入门到精通系列第四篇:JavaScript基本语法(二)

文章目录前言一:Number类型1:字符串与Number类型2:检查数据类型3:Number最大值4:Number四则运算精确性二:布尔值1:布尔值数量2:布尔值类型查看三:Null和Undefined1:Null类型2:null值意义3:Undefined前言varstr="123";varstr="456";这么些

第七章 查找 五、二叉排序树

目录一、定义二、代码实现1、查找2、插入3、构造4、删除三、查找效率分析1、查找成功ASL2、查找失败ASL四、总结一、定义二叉排序树(BinarySearchTree,BST)是一种特殊的二叉树,它满足以下条件:若左子树不为空,则左子树上所有节点的值(权值)均小于它的根节点的值;若右子树不为空,则右子树上所有节点的值

《Docker与Kubernetes容器运维实战》简介

#好书推荐##好书奇遇季#《Docker与Kubernetes容器运维实战》已经出版。本书帮助读者系统掌握Docker与K8s运维技能。本书内容本书分两部分系统介绍Docker与Kubernetes的运维技术。(1)Docker部分包括:全面认识Docker、初步体验Docker、Docker基本管理、Docker仓库

热文推荐