ASP.NET Core 8 的 Web App
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 的运行环境。
- 良好的社区和生态系统
缺点是:
- 要学习更多语言和框架
相关文章:
ASP.NET Core 8 的 Web App
Web App Web App 与 Web API 的不同之处在于包含 UI 部分,所谓的 UI 就是 HTML 页面。 Web App 支持几种渲染HTML 的方式: 服务端渲染客户端渲染混合渲染 服务端渲染 服务端渲染UI是在浏览器请求的时候,服务端生成 HTML,然后返…...
jeesite自定义数据字典,自定义字典表,自带树选择数据源(保姆级图文教程)
文章目录 前言一、框架自带树字典表如何使用二、自定义表作为字典表1. 下拉选项使用自建表作为字典表。实际效果框架示例实际开发代码2. 结构树选择使用自建表作为字典表。效果展示实际开发代码总结前言 项目开发中字典表如果不满足实际需求,比如使用自己的表作为字典,系统自…...
基于v-md-editor的在线文档编辑实现
概述 前面的文章讲到了基于语雀的在线文档编辑器的实现,在本文,将基于v-md-editor实现在线文档的编辑。 实现后效果 实现 说明:本文是基于Vue3实现的,实现了:1.Markdown的在线编辑和预览;2. 文件的上传和…...
C(结构体指针、利用结构体指针偏移获取数据)
记录问题,还没有研究明白 struct MY_STRUCT{int a;short b;char s[100];double d; }; int main(){ MY_STRUCT s{1,2,"he",999};MY_STRUCT* struct_ptr &s;char *char_p (char *) &s.s;int *int_ap &s.a;short * int_bp &s.b;double …...
数据结构和算法之插入排序
一、插入排序 插入排序是一种简单直观的排序算法。它的原理是通过构建有序序列,对于未排序数据,在已排序序列中从后向前扫描,找到相应位置并插入。 #mermaid-svg-v2YbPqchr8qWCPvn {font-family:"trebuchet ms",verdana,arial,san…...
感应电动机
引言 感应电动机,这个名字对于普通人来说可能有些陌生,但它在我们的日常生活和工作中占据着举足轻重的地位。从各类电器设备到工业生产设备,感应电动机的应用广泛而深入。了解感应电动机的种类和主要结构有助于我们更好地理解其工作原理,从而为我们的生活和工作带来更多便利…...
AjaxJavaScriptcss模仿百度一下模糊查询功能
1、效果 如下图所示,我们在输入大学时,程序会到后端查询名字中包含大学的数据,并展示到前端页面。 用户选择一个大学,该大学值会被赋值到input表单,同时关闭下拉表单; 当页面展示的数据都不符合条件时&…...
sqli-labs复现
sqli-labs第一关复现 环境搭建下载phpstudy下载sqli-labs浏览器加载 第一关复现 环境搭建 下载phpstudy phpstudy是一个可以快速帮助我们搭建web服务器环境的软件 官网:https://www.xp.cn/ 这里我选择的是windows 64bit 客户端版本,安装路径为C:\php…...
k8s入门到实战--跨服务调用
service.png 背景 在做传统业务开发的时候,当我们的服务提供方有多个实例时,往往我们需要将对方的服务列表保存在本地,然后采用一定的算法进行调用;当服务提供方的列表变化时还得及时通知调用方。 student: url: - 192.168.1…...
小程序中使用分包
前言 小程序在未使用的分包的情况下仅支持大小为2M,如果图片等资源过多的情况下可以使用分包功能,使用分包的情况下单个分包大小不能超过2M,总大小不能超过20M,分包有两种情况:普通分包和独立分包,下面介绍的是普通分包。官方文档…...
python官方标准库
文章目录 1. 标准库2. Python标准库介绍3. 示例 1. 标准库 https://docs.python.org/zh-cn/3/library/ https://pypi.org/ 2. Python标准库介绍 Python 语言参考手册 描述了 Python 语言的具体语法和语义,这份库参考则介绍了与 Python 一同发行的标准库。它还描…...
Python Opencv实践 - 霍夫圆检测(Hough Circles)
import cv2 as cv import numpy as np import matplotlib.pyplot as pltimg cv.imread("../SampleImages/steelpipes.jpg") print(img.shape) plt.imshow(img[:,:,::-1])#转为二值图 gray cv.cvtColor(img, cv.COLOR_BGR2GRAY) plt.imshow(gray, cmap plt.cm.gray…...
异步请求库的实际应用案例:爬取豆瓣经典电影
在日常爬虫过程中,你有没有遇到过需要爬取大量数据的情况,但是传统的同步请求方式让您等得焦头烂额? 这个问题的根源在于传统的同步请求方式。当我们使用同步请求时,程序会一直等待服务器的响应,直到数据返回后才能继续…...
数据结构学习系列之两个单向链表的合并
两个单向链表的合并:创建两个单向链表p1和p2,合并p1和p2即可,代码如下:示例代码: int merge_2_link_list(node_t *p1,node_t **p2){if(NULL p1 || NULL p2 || NULL *p2){printf("入参合理性检查\n");ret…...
java网络编程,套接字socket
目录 一 网络概述 二 网络的类型分类 三 网络体系结构 四 网络通信协议概述 五 网络通信协议种类 六 Socket简介 七 Socket路径 八 java网络编程三要素 九 基于UDP协议的Socket编程 十 基于TCP协议的Socket编程 十一 基于TCP协议和UDP的区别 一 网络概述 多台相互连…...
一日一技:Python如何同时调用多个GPT的API?
相信很多同学或多或少都在Python中使用过GPT API,通过Python安装openai库,来调用GPT模型。 OpenAI官方文档中给出了一个示例,如下图所示: OpenAI API 测试 如果你只有一个API账号,那么你可能不觉得这样写有什么问题。…...
【云原生】Docker环境安装
文章目录 一、安装准备1、前提条件2、查看系统内核3、查看已安装的CentOS版本信息 二、CentOS7安装docker1、安装需要的软件包2、设置docker下载镜像3、更新yum软件包索引4、安装docker ce5、启动docker6、版本验证7、设置开机启动 三、卸载 Docker 是一个开源的应用容器引擎&a…...
56、springboot ------ RESTful服务及RESTful接口设计
★ RESTful服务 RESTful服务是“前后端分离”架构中的主要功能: 后端应用对外暴露RESTful服务,前端应用则通过RESTful服务与后端应用交互。后端应用 RESTful接口 <------------------> 前端★ 基于JSON的RESTful服务 使用RestController注解…...
sysmonitor如何使用
Sysmonitor是一个系统监控工具,可以监视系统资源的使用情况,如CPU、内存、磁盘、网络等。以下是使用Sysmonitor的步骤: 打开终端或命令行界面,输入以下命令安装Sysmonitor: sudo apt-get install sysmonitor安装完成…...
视频监控/视频汇聚/安防视频监控平台EasyCVR如何将默认快照的raw格式改为jpg/base64格式?
视频监控/视频汇聚/安防视频监控平台EasyCVR可拓展性强、视频能力灵活、部署轻快,可支持的主流标准协议有国标GB28181、RTSP/Onvif、RTMP等,以及支持厂家私有协议与SDK接入,包括海康Ehome、海大宇等设备的SDK等。视频云存储EasyCVR平台能在复…...
AI-调查研究-01-正念冥想有用吗?对健康的影响及科学指南
点一下关注吧!!!非常感谢!!持续更新!!! 🚀 AI篇持续更新中!(长期更新) 目前2025年06月05日更新到: AI炼丹日志-28 - Aud…...
高等数学(下)题型笔记(八)空间解析几何与向量代数
目录 0 前言 1 向量的点乘 1.1 基本公式 1.2 例题 2 向量的叉乘 2.1 基础知识 2.2 例题 3 空间平面方程 3.1 基础知识 3.2 例题 4 空间直线方程 4.1 基础知识 4.2 例题 5 旋转曲面及其方程 5.1 基础知识 5.2 例题 6 空间曲面的法线与切平面 6.1 基础知识 6.2…...
Cinnamon修改面板小工具图标
Cinnamon开始菜单-CSDN博客 设置模块都是做好的,比GNOME简单得多! 在 applet.js 里增加 const Settings imports.ui.settings;this.settings new Settings.AppletSettings(this, HTYMenusonichy, instance_id); this.settings.bind(menu-icon, menu…...
华为OD机试-食堂供餐-二分法
import java.util.Arrays; import java.util.Scanner;public class DemoTest3 {public static void main(String[] args) {Scanner in new Scanner(System.in);// 注意 hasNext 和 hasNextLine 的区别while (in.hasNextLine()) { // 注意 while 处理多个 caseint a in.nextIn…...
【git】把本地更改提交远程新分支feature_g
创建并切换新分支 git checkout -b feature_g 添加并提交更改 git add . git commit -m “实现图片上传功能” 推送到远程 git push -u origin feature_g...
DBAPI如何优雅的获取单条数据
API如何优雅的获取单条数据 案例一 对于查询类API,查询的是单条数据,比如根据主键ID查询用户信息,sql如下: select id, name, age from user where id #{id}API默认返回的数据格式是多条的,如下: {&qu…...
3-11单元格区域边界定位(End属性)学习笔记
返回一个Range 对象,只读。该对象代表包含源区域的区域上端下端左端右端的最后一个单元格。等同于按键 End 向上键(End(xlUp))、End向下键(End(xlDown))、End向左键(End(xlToLeft)End向右键(End(xlToRight)) 注意:它移动的位置必须是相连的有内容的单元格…...
GitHub 趋势日报 (2025年06月06日)
📊 由 TrendForge 系统生成 | 🌐 https://trendforge.devlive.org/ 🌐 本日报中的项目描述已自动翻译为中文 📈 今日获星趋势图 今日获星趋势图 590 cognee 551 onlook 399 project-based-learning 348 build-your-own-x 320 ne…...
FFmpeg:Windows系统小白安装及其使用
一、安装 1.访问官网 Download FFmpeg 2.点击版本目录 3.选择版本点击安装 注意这里选择的是【release buids】,注意左上角标题 例如我安装在目录 F:\FFmpeg 4.解压 5.添加环境变量 把你解压后的bin目录(即exe所在文件夹)加入系统变量…...
零知开源——STM32F103RBT6驱动 ICM20948 九轴传感器及 vofa + 上位机可视化教程
STM32F1 本教程使用零知标准板(STM32F103RBT6)通过I2C驱动ICM20948九轴传感器,实现姿态解算,并通过串口将数据实时发送至VOFA上位机进行3D可视化。代码基于开源库修改优化,适合嵌入式及物联网开发者。在基础驱动上新增…...
