.net:设计一个web应用
web應(yīng)用相對(duì)desktop應(yīng)用就要復(fù)雜一些,桌面應(yīng)在一個(gè)時(shí)間點(diǎn)是為單訪問(wèn)服務(wù),web應(yīng)用,在一個(gè)時(shí)間點(diǎn),設(shè)計(jì)的是為多人服務(wù);桌面應(yīng)用UI和后面代碼是一體的,在一臺(tái)設(shè)備上動(dòng)行表示,但web服務(wù),通常是前后端分離,后端很多時(shí)候還是很多個(gè)服務(wù)協(xié)同工作,所以web服務(wù)就要復(fù)雜一些。
web框架
這里說(shuō)的web框架很大一部分是指asp.net core,官方的框架,當(dāng)然三方也有,相對(duì)來(lái)說(shuō)官方的質(zhì)量,文檔,后期的升級(jí)都有一定的保障,即適合當(dāng)作長(zhǎng)期的產(chǎn)品框架,進(jìn)行迭代,同時(shí)也適合一錘子買(mǎi)賣(mài)的項(xiàng)目(三方的庫(kù)要多一些)。
監(jiān)控,跟蹤,報(bào)警
監(jiān)控,跟蹤這個(gè)在之前的公眾號(hào)文章有有說(shuō)過(guò),因?yàn)閣eb服務(wù)同時(shí)并行著很多訪問(wèn),監(jiān)控跟蹤能為這些并行保駕護(hù)航,一但有不正常就采用報(bào)警,及時(shí)采取措施或通知人工處理,把損失或危害降到最低。
通常在asp.net core框架下,都是通過(guò)對(duì)應(yīng)監(jiān)控跟蹤報(bào)警的三方庫(kù),把指標(biāo)性數(shù)據(jù)的采集走,收集在對(duì)應(yīng)的監(jiān)控,跟蹤,報(bào)警平臺(tái)上,進(jìn)行對(duì)應(yīng)的處理;服務(wù)監(jiān)控展示,跟蹤,報(bào)警這些動(dòng)作不應(yīng)在web服務(wù)用中處理,解耦出去。
緩存
緩存的使用取決于需要的數(shù)據(jù)出現(xiàn)訪問(wèn)瓶頸,需要通過(guò)一個(gè)更快的方式存或取數(shù)據(jù),解決用戶等待時(shí)間過(guò)長(zhǎng),內(nèi)存是最好的緩存,但內(nèi)存大小有限度,還有內(nèi)存對(duì)數(shù)的持久化做不到,所以就需要專業(yè)的緩存方式,這些技術(shù)有很多,redids,memcache等緩存數(shù)據(jù)庫(kù),都 能解決快速訪問(wèn),又能持久化,還能實(shí)現(xiàn)分布式。
全安,數(shù)據(jù)保護(hù)
asp.net core項(xiàng)目的全安注意事項(xiàng)在最近的幾個(gè)公眾號(hào)文里有提及到,請(qǐng)關(guān)注,這里不再贅述。數(shù)據(jù)保護(hù)是asp.net core特別設(shè)計(jì)的,旨在解決用戶的數(shù)據(jù)安全,舉個(gè)例子,比如登錄后生成的cookie的加密的,這個(gè)加密串就是用數(shù)據(jù)保護(hù)的機(jī)制,保存在系統(tǒng)的一個(gè)臨時(shí)目錄下的,這個(gè)串可以配置失效時(shí)期,不易被破解。知道這個(gè)原理,當(dāng)服務(wù)成為多副本時(shí),就要注意這個(gè)串要取到的地方,負(fù)責(zé)你的服務(wù)授權(quán)可能時(shí)好時(shí)壞了,關(guān)于數(shù)據(jù)保護(hù),官方文檔(https://docs.microsoft.com/zh-cn/aspnet/core/security/data-protection/introduction?view=aspnetcore-5.0)說(shuō)的很全,可以詳細(xì)參考。
Open?API
如果web服務(wù)是一個(gè)純api服務(wù),那一定少不了open api的支持,這樣不但方便測(cè)試,也方便使用你api的人來(lái)調(diào)試。比較流行的框架是swagger,包括授權(quán),與asp.net core的自動(dòng)生成xml注釋文檔很好的結(jié)合起來(lái),起到事半功倍的效果。
關(guān)于數(shù)據(jù)庫(kù),ORM,三方類庫(kù),異常處理,日志見(jiàn)《.net:設(shè)計(jì)一個(gè)桌面應(yīng)用》
總結(jié)
以上是生活随笔為你收集整理的.net:设计一个web应用的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。
- 上一篇: Apache ECharts顺利毕业,成
- 下一篇: 一文说通Dotnet的委托