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:设计一个桌面应用》
想要更快更方便的了解相关知识,可以关注微信公众号