.net:设计一个web应用

web应用相对desktop应用就要复杂一些,桌面应在一个时间点是为单访问服务,web应用,在一个时间点,设计的是为多人服务;桌面应用UI和后面代码是一体的,在一台设备上动行表示,但web服务,通常是前后端分离,后端很多时候还是很多个服务协同工作,所以web服务就要复杂一些。

  • web框架

这里说的web框架很大一部分是指asp.net core,官方的框架,当然三方也有,相对来说官方的质量,文档,后期的升级都有一定的保障,即适合当作长期的产品框架,进行迭代,同时也适合一锤子买卖的项目(三方的库要多一些)。

  • 监控,跟踪,报警

监控,跟踪这个在之前的公众号文章有有说过,因为web服务同时并行着很多访问,监控跟踪能为这些并行保驾护航,一但有不正常就采用报警,及时采取措施或通知人工处理,把损失或危害降到最低。

通常在asp.net core框架下,都是通过对应监控跟踪报警的三方库,把指标性数据的采集走,收集在对应的监控,跟踪,报警平台上,进行对应的处理;服务监控展示,跟踪,报警这些动作不应在web服务用中处理,解耦出去。

  • 缓存

缓存的使用取决于需要的数据出现访问瓶颈,需要通过一个更快的方式存或取数据,解决用户等待时间过长,内存是最好的缓存,但内存大小有限度,还有内存对数的持久化做不到,所以就需要专业的缓存方式,这些技术有很多,redids,memcache等缓存数据库,都 能解决快速访问,又能持久化,还能实现分布式。

  • 全安,数据保护

asp.net core项目的全安注意事项在最近的几个公众号文里有提及到,请关注,这里不再赘述。数据保护是asp.net core特别设计的,旨在解决用户的数据安全,举个例子,比如登录后生成的cookie的加密的,这个加密串就是用数据保护的机制,保存在系统的一个临时目录下的,这个串可以配置失效时期,不易被破解。知道这个原理,当服务成为多副本时,就要注意这个串要取到的地方,负责你的服务授权可能时好时坏了,关于数据保护,官方文档(https://docs.microsoft.com/zh-cn/aspnet/core/security/data-protection/introduction?view=aspnetcore-5.0)说的很全,可以详细参考。

  • Open API

如果web服务是一个纯api服务,那一定少不了open api的支持,这样不但方便测试,也方便使用你api的人来调试。比较流行的框架是swagger,包括授权,与asp.net core的自动生成xml注释文档很好的结合起来,起到事半功倍的效果。

关于数据库,ORM,三方类库,异常处理,日志见《.net:设计一个桌面应用》

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/305431.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

case when影响性能吗_字段为NULL会影响查询性能吗?

导读假设这个用户中心系统是一个交友平台的一个子系统,现在产品想要提供一个按生日区间筛选用户的功能。那么,要实现这个功能,我们需要写这么一条SQL:SELECT 为了保证这条SQL的查询性能,我们会给用户表中的birthday字段…

c++ 模板类实现堆栈实验报告_编译原理——小型类C编译器的设计和实现(生成8086汇编代码)之1:问题定义以及总体功能...

前面花了两篇文章来介绍词法分析和语法分析,接下来才是比较有意思的部分——一个小型类C编译器的设计和实现(其实是编译原理的课程设计啦!~)我用的是python2.7.13PyQt来做的。。。事实上,正是从编译原理课程设计开始&a…

ansys fluent udf manual 下载_FLUENT流固耦合柱体结构涡激振动仿真案例解析

作者 | 陈东阳博士 仿真秀科普作者一、柱体结构涡激振动定义对于海洋工程、风工程上普遍采用的圆柱形断面结构物,流体绕过柱体时会产生交替发放的泻涡,这种交替发放的泻涡又会在柱体上生成顺流向及横流向周期性变化的脉动压力。如果此时柱体是弹性支撑的…

SQL Server的数据导入MySQL数据库方法简介

第一种是安装mysql ODBC,利用sql server的导出功能,选择mysql数据源,进行数据的直接导出,这种方法很简便,但是针对实际应用有很多弊端,最主要体现就是数据类型问题,首先,sql server数…

添加图标_win10系统轻松添加显示桌面图标的操作方法

win10系统想必大家都非常熟悉吧,然而有时候可能会碰到win10系统对win10系统添加显示桌面图标进行设置,比如近日有用户到本站反映说对win10系统添加显示桌面图标设置的情况,到底该怎么设置win10系统添加显示桌面图标呢?我们只用按照…

分享干货:靠刷算法题,真的可以刷进大厂吗?

在国外 Facebook,Google 等互联网巨头中,算法无疑是面试中的重头戏,不过,在最近几年国内互联网大厂面试中,算法的比重也越来越高,算法不扎实,笔试可能就直接被刷了。那你知道大厂的技术面为什么…

SwitchBox系列 - 介绍

很多客户问到了如何让iAMT能够穿过防火墙或网关被管理,他们中的部分也了解到了Intel工程师开发的SwitchBox方案,但都不是很了解。基于此,我正好有机会来共享一些在SwitchBox方面的经验和理解。虽然Intel AMT技术是基于TCP/IP协议上的&#xf…

获取两个数据的交集_MySQL交集和差集的实现方法

在MySQL中,只支持Union(并集)集合运算,而对于交集Intersect和差集Except并不支持。那么如何才能在MySQL中实现交集和差集呢?一般在MySQL中,我们可以通过in和not in来间接实现交集和差集,当然也有一定局限性&#xff0c…

Asp.Net Core之Identity应用(上篇)

一、前言在前面的篇章介绍中,简单介绍了「IdentityServer4」持久化存储机制相关配置和操作数据,实现了数据迁移,但是未对用户实现持久化操作说明。在总结中我们也提到了,因为「IdentityServer4」本就支持了接入其他认证方式&#…

c++ 读文件_第十六节:读文件,文件的创建,写文件,文件的读写以及鼠标键盘事件和图形绘制...

读文件//读文件文件的创建public 写文件public 文件的读写重点:文件类主要功能:创建,读属性,写属性,删除等文件读写操作File类File类的对象用来获取文件本身的信息,如文件所在目录、文件长度、文件读写权限…

docker安装jenkins并用docker部署net

1. 部署jenkins1.1 创建jenkins的工作目录//创建工作目录 mkdir /var/jenkins_home //赋予权限 chown -R 1000 /var/jenkins_home1.2 通过docker部署1.2.1 拉取镜像docker pull jenkinsci/blueocean1.2.2 生成容器#注意:切换一行执行命令 docker run -u root -d…

ie插件获取dom_读书笔记《DOM编程艺术》DOM

DOM的理解1.1 D:当创建了一个网页并把它加载到Web浏览器中时,DOM就生成了,它将我们编写的网页文档转换成一个文档对象。1.2 O:“对象”是一种自足的数据集合,相关联的变量称为这个对象的属性,只能通过这个对…

针对Fluent-Bit采集容器日志的补充

hello,之前我写过《一套标准的ASP.NET Core容器化应用日志收集分析方案》,在公司团队、微信公众号、Github上反映良好。其中配置Fluent-bit使用Forward协议收集容器日志,需要在Docker-Compose App配置Loging DriverFluentd实践中,…

在每个运行中运行多个查询_在Kubernetes中运行OpenEBS

什么是OpenEBS?现在,OpenEBS是kubernetes下与容器原生和容器附加存储类型相关通用的领先开源项目之一。 通过为每个工作负载指定专用的存储控制器,OpenEBS遵循容器附加存储或CAS的脚步。 为了向用户提供更多功能,OpenEBS具有精细的…

如何在 C# 8 中使用默认接口方法

C# 8 中新增了一个非常有趣的特性,叫做 默认接口方法 (又称虚拟扩展方法),这篇文章将会讨论 C# 8 中的默认接口方法以及如何使用。在 C# 8 之前,接口不能包含方法定义,只能在接口中定义方法签名,还有一个就是接口的成员…

.Net下二进制形式的文件(图片)的存储与读取 [ZT]

.Net下图片的常见存储与读取凡是有以下几种:存储图片:以二进制的形式存储图片时,要把数据库中的字段设置为Image数据类型(SQL Server),存储的数据是Byte[].1.参数是图片路径:返回Byte[]类型: publicbyte[] GetPictureData(stringimagepath) { /**…

c++tcp接收文件缓存多大合适_网易面经:深剖TCP协议的流量控制和拥塞控制,你懂了吗?...

1.自我介绍项目2.RPC框架和普通http有什么区别和优势? 基于Tcp封装还是http封装的3.rpc是长连接吗?如果要传输一个特别大的文件 底层还是基于流吗? Nio是一个什么IO模型?4.github了的watch star fork5.异常和error的区别&#xff…

如何在 ASP.Net Core 中使用 LoggerMessage

ASP.NET Core 是一个开源的、跨平台的、轻量级模块化框架,可用于构建高性能、可伸缩的web应用程序,你也许不知道 ASP.NET Core 中有一个藏得很深,而且非常强大的特性,那就是 LoggerMessage,与内建的 Logger 相比&#…

模拟器显示空白图片_Kawaks街机模拟器,还是小时候的味道!

APP菜园打造属于我们自己的APP帝国1.打开支付宝app,首页搜索 “8221050” 然后点击快捷功能,天天领红包。2.软件领取流程:1.认真阅读下软件介绍;2.找到图片下方的“获取链接”复制;3.打开手机上的浏览器粘贴链接搜索(…

ASP.NET Core 查看应用状态和统计

在日常开发中,我们需要关注 .NET 应用的资源使用情况,方便排查问题和扩容。通过 Ajax 请求获取统计信息,展示成图表,如下图:CLRStats 插件,一个统计 .NET 应用资源使用情况的插件,包含&#xff…