日韩精品亚洲精品中文字幕乱伦AV|曰韩区二区三区日韩中文字幕五码|ady99久久人人看人人摸人人|动漫一区二区黄99精品视频在线|AV片在线观看亚洲中文国产精品|伦乱在线VA欧美性爱一二区|亚洲无码mv91热色视频|激情六月综合欧美精品中文

當(dāng)前位置:首頁 > 網(wǎng)站建設(shè) > 正文內(nèi)容

asp.netmvc不攔截html(net攔截器)

網(wǎng)站建設(shè)1年前 (2024-01-19)434

↓推薦關(guān)注↓

?前言

從實(shí)習(xí)到現(xiàn)在回想自己已經(jīng)入行四年了,很慶幸自己一直還是從事著開發(fā)的工作。

這幾年不管是工作還是生活都有很多不甘與失落還有收獲,從學(xué)校出來之后有時(shí)候覺得自己的心態(tài)受不了小小的打擊,可能就像平凡的世界中的孫少平一樣,有著一顆敏感而脆弱的自尊心。

春種一粒粟,秋收萬顆子。從2021年1月份到現(xiàn)在一直沒有更新過博客,在這個(gè)播種的季節(jié)我想我應(yīng)該要總結(jié)一下過去的技術(shù)經(jīng)驗(yàn),對(duì)自己是提升,對(duì)別人可能或多或少都有幫助。

阿里巴巴大神畢玄曾說過,"一個(gè)優(yōu)秀的工程師和一個(gè)普通工程師的區(qū)別,不是滿天飛的架構(gòu)圖,他的功底體現(xiàn)在所寫的每一行代碼上"。這句話我與諸君共思共勉!

分層目標(biāo)

大道至簡(jiǎn):能提高開發(fā)效率,讓剛進(jìn)公司的實(shí)習(xí)生也能快速上手CRUD

結(jié)構(gòu)清晰:不僅要遵循DIP原則(降低耦合),而且也要保證每一層或每一個(gè)類庫職責(zé)單一,減少后期維護(hù)成本

擴(kuò)展/復(fù)用:分層之后有很高的復(fù)用性和更方便的橫向擴(kuò)展性

大道至簡(jiǎn):能提高開發(fā)效率,讓剛進(jìn)公司的實(shí)習(xí)生也能快速上手CRUD

結(jié)構(gòu)清晰:不僅要遵循DIP原則(降低耦合),而且也要保證每一層或每一個(gè)類庫職責(zé)單一,減少后期維護(hù)成本

擴(kuò)展/復(fù)用:分層之后有很高的復(fù)用性和更方便的橫向擴(kuò)展性

傳統(tǒng)三層架構(gòu)

傳統(tǒng)的三層架構(gòu):表現(xiàn)層、業(yè)務(wù)邏輯層和數(shù)據(jù)訪問層,如下圖所示:

展開全文

DDD四層架構(gòu)

基于DDD的四層架構(gòu):用戶接口層、應(yīng)用層、領(lǐng)域?qū)雍突A(chǔ)設(shè)施層,如下圖所示:

與傳統(tǒng)的三層架構(gòu)相比DDD的分層架構(gòu)將業(yè)務(wù)邏輯層拆為了應(yīng)用層與領(lǐng)域?qū)?/p>

下方左圖為傳統(tǒng)四層架構(gòu),右圖為依賴倒置后的四層架構(gòu)。應(yīng)用層與領(lǐng)域?qū)犹峁┙涌冢A(chǔ)設(shè)施層提供實(shí)現(xiàn)。

領(lǐng)域?qū)硬灰蕾嚾魏我粚?,只專注與業(yè)務(wù)。個(gè)人認(rèn)為基礎(chǔ)設(shè)施層迭代頻率要低于接口層,抽象程度高于表現(xiàn)層。所以讓表現(xiàn)層依賴基礎(chǔ)設(shè)施層更合適。

我的本系列博客對(duì)應(yīng)的項(xiàng)目也是基于DDD的架構(gòu)思想,當(dāng)然也會(huì)加入自己的一些想法在其中。

想學(xué)習(xí)領(lǐng)域驅(qū)動(dòng)設(shè)計(jì)的同學(xué)可移步《DDD 實(shí)戰(zhàn)課》

我的本系列博客對(duì)應(yīng)的項(xiàng)目也是基于DDD的架構(gòu)思想,當(dāng)然也會(huì)加入自己的一些想法在其中。

想學(xué)習(xí)領(lǐng)域驅(qū)動(dòng)設(shè)計(jì)的同學(xué)可移步《DDD 實(shí)戰(zhàn)課》

整體項(xiàng)目結(jié)構(gòu)如下方三張圖所示:

層級(jí)介紹

1、ICore.WebApi這一層主要構(gòu)建 RESTful 應(yīng)用程序,提供HTTP服務(wù)。管道中間件、過濾器、跨域、路由、模型驗(yàn)證等都在此配置。

3、ICore.Task這一層主要用于處理系統(tǒng)內(nèi)小型定時(shí)任務(wù)。繁多、復(fù)雜的定時(shí)任務(wù)建議用第三方調(diào)度平臺(tái),例如:XXL-JOB。

4、ICore.Domain.Core這一層主要用于實(shí)現(xiàn)核心的業(yè)務(wù)邏輯!內(nèi)部主要包含Entity(實(shí)體)、Domain Event(領(lǐng)域事件)、Domain Service(領(lǐng)域服務(wù))等。

5、ICore.Domain.Abstractions這一層主要用于定義一些基類的接口和領(lǐng)域事件的接口。例如:IAggregateRoot聚合根接口、IEntity、IEntity TKey 實(shí)體接口等。

6、ICore.Infrastructure.Core這一層主要對(duì)整個(gè)應(yīng)用程序提供基礎(chǔ)實(shí)現(xiàn),例如倉儲(chǔ)的實(shí)現(xiàn)、工作單元模式的實(shí)現(xiàn)、Redis緩存、隊(duì)列服務(wù)等。

7、ICore.Test這一層主要用于對(duì)整個(gè)程序的單元測(cè)試,減少不必要的BUG以及提高測(cè)試效率。

其它規(guī)范

編碼、格式規(guī)范

我強(qiáng)烈建議大家看阿里巴巴Java開發(fā)手冊(cè),以上面的規(guī)范來約束自己的編碼。

配置文件規(guī)范

全部采用json格式文件

建立映射類,使用IOptions T方式讀取配置信息

數(shù)據(jù)庫連接字符串、數(shù)據(jù)傳輸?shù)募用苊荑€等不建議寫在配置文件中,應(yīng)放到分布式配置中心中

全部采用json格式文件

建立映射類,使用IOptions T方式讀取配置信息

數(shù)據(jù)庫連接字符串、數(shù)據(jù)傳輸?shù)募用苊荑€等不建議寫在配置文件中,應(yīng)放到分布式配置中心中

加入惡意請(qǐng)求IP黑名單

防SQL注入攻擊

日志應(yīng)記錄請(qǐng)求時(shí)間、操作人ID、IP地址、是否成功等重要信息

CORS策略應(yīng)加上白名單限制

生產(chǎn)環(huán)境的接口文檔不對(duì)外暴露

加入惡意請(qǐng)求IP黑名單

防SQL注入攻擊

日志應(yīng)記錄請(qǐng)求時(shí)間、操作人ID、IP地址、是否成功等重要信息

CORS策略應(yīng)加上白名單限制

生產(chǎn)環(huán)境的接口文檔不對(duì)外暴露

首先.Net Core同Spring Boot一樣都是自宿主程序,其不是必需在IIS內(nèi)部托管。實(shí)現(xiàn)跨平臺(tái)離不開.Net Core內(nèi)置的kestrel高性能服務(wù)器,如下圖所示(圖片來自官網(wǎng)):

修改端口

1、在launchSettings.json文件中修改站點(diǎn)信息,把IIS Express節(jié)點(diǎn)刪掉

2、在appsettings.json中設(shè)置啟動(dòng)端口

"Kestrel": {

"Endpoints": {

"Https": {

"Url": "https://*:8000"

},

"Http": {

"Url": "http://*:8001"

}

}

}

3、在Program中設(shè)置啟動(dòng)端口

app.Run( "http://*:8001");

加入Startup.cs

從.NET 6.0開始已去除了Startup.cs 文件,依賴注入服務(wù)和Middleware全在Program.cs中配置。

我從寫.NET Core 2.0開始一直到現(xiàn)在,Startup.cs文件我覺得還是有必要存在,個(gè)人使用習(xí)慣而已

改造Program.cs

using ICore.WebApi;

var builder = WebApplication.CreateBuilder(args);

var startup = new Startup(builder.Configuration);

startup.ConfigureServices(builder.Services);

startup.Configure(builder.Build);

重寫Startup.csnamespaceICore.WebApi

{

publicclassStartup

{

publicIConfiguration Configuration { get; }

publicStartup( IConfiguration configuration) = Configuration = configuration;

// This method gets called by the runtime. Use this method to add services to the container.

publicvoidConfigureServices( IServiceCollection services)

{

services.AddControllers;

// Learn more about configuring Swagger/OpenAPI at https://aka.ms/aspnetcore/swashbuckle

services.AddEndpointsApiExplorer;

asp.netmvc不攔截html(net攔截器)

services.AddSwaggerGen;

}

// This method gets called by the runtime. Use this method to configure the HTTP request pipeline.

publicvoidConfigure( WebApplication app)

{

if(app.Environment.IsDevelopment)

{

app.UseSwagger;

app.UseSwaggerUI;

}

app.UseAuthorization;

app.MapControllers;

app.Run( "http://*:8001");

}

}

}

Run起來!

使用命令行啟動(dòng)dotnet ICore.WebApi.dll --urls="http://*:8001" --ip="127.0.0.1" --port=8001

這一節(jié)就到這里,后面會(huì)繼續(xù)上新!

轉(zhuǎn)自:江北

轉(zhuǎn)自:江北

- EOF -

點(diǎn)擊標(biāo)題可跳轉(zhuǎn)

微軟公布 .NET最新的編程語言支持策略

.NET 提升開發(fā)效率的強(qiáng)大多功能工具箱

.NET 6.0 開發(fā)的配置中心開源項(xiàng)目

看完本文有收獲?請(qǐng)轉(zhuǎn)發(fā)分享給更多人

推薦關(guān)注「DotNet」,提升.Net技能

點(diǎn)贊和在看就是最大的支持??

掃描二維碼推送至手機(jī)訪問。

版權(quán)聲明:本文由飛速云SEO網(wǎng)絡(luò)優(yōu)化推廣發(fā)布,如需轉(zhuǎn)載請(qǐng)注明出處。

本文鏈接:http://www.atlasseeker.com/post/80791.html

標(biāo)簽: asp.netmvc不攔截html

“asp.netmvc不攔截html(net攔截器)” 的相關(guān)文章

seo網(wǎng)站優(yōu)化服務(wù)(seo_網(wǎng)站優(yōu)化)

seo網(wǎng)站優(yōu)化服務(wù)(seo_網(wǎng)站優(yōu)化)

本篇文章給大家談?wù)剆eo網(wǎng)站優(yōu)化服務(wù),以及seo_網(wǎng)站優(yōu)化對(duì)應(yīng)的知識(shí)點(diǎn),希望對(duì)各位有所幫助,不要忘了收藏本站喔。 本文目錄一覽: 1、SEO優(yōu)化怎么做? 2、網(wǎng)站SEO優(yōu)化方案 3、什么是SEO優(yōu)化服務(wù)? 4、SEO網(wǎng)站優(yōu)化的步驟和方法有哪些?應(yīng)該如何來做呢? SEO優(yōu)化怎么做? 一、...

怎么通過源代碼查看密碼(如何查看原密碼)

怎么通過源代碼查看密碼(如何查看原密碼)

今天給各位分享怎么通過源代碼查看密碼的知識(shí),其中也會(huì)對(duì)如何查看原密碼進(jìn)行解釋,如果能碰巧解決你現(xiàn)在面臨的問題,別忘了關(guān)注本站,現(xiàn)在開始吧!本文目錄一覽: 1、有網(wǎng)站源碼,網(wǎng)站后臺(tái)登錄用戶名和密碼怎么看? 2、怎么查看源碼后臺(tái)的初始帳號(hào)密碼 3、網(wǎng)頁如何查看源代碼 有網(wǎng)站源碼,網(wǎng)站后臺(tái)登錄用...

彩虹云商城下載手機(jī)版(彩虹云商城下載手機(jī)版安裝)

彩虹云商城下載手機(jī)版(彩虹云商城下載手機(jī)版安裝)

本篇文章給大家談?wù)劜屎缭粕坛窍螺d手機(jī)版,以及彩虹云商城下載手機(jī)版安裝對(duì)應(yīng)的知識(shí)點(diǎn),希望對(duì)各位有所幫助,不要忘了收藏本站喔。 本文目錄一覽: 1、彩虹云商城抽獎(jiǎng)怎么設(shè)置 2、彩虹發(fā)卡系統(tǒng)怎么變成黑白的 3、小儲(chǔ)云商城和彩虹系統(tǒng)哪個(gè)好 4、彩虹社區(qū)屬于什么系統(tǒng)? 5、彩虹云商城和沉夢(mèng)哪個(gè)...

imovie視頻模板素材(imovie素材庫)

imovie視頻模板素材(imovie素材庫)

本篇文章給大家談?wù)刬movie視頻模板素材,以及imovie素材庫對(duì)應(yīng)的知識(shí)點(diǎn),希望對(duì)各位有所幫助,不要忘了收藏本站喔。 本文目錄一覽: 1、怎么用imovie剪輯視頻 2、imovie教程 imovie介紹 3、如何利用imovie制作電影剪輯 4、imovie剪輯 5、視頻編輯|...

剪映怎么提取文字(剪映怎么提取文字復(fù)制)

剪映怎么提取文字(剪映怎么提取文字復(fù)制)

今天給各位分享剪映怎么提取文字的知識(shí),其中也會(huì)對(duì)剪映怎么提取文字復(fù)制進(jìn)行解釋,如果能碰巧解決你現(xiàn)在面臨的問題,別忘了關(guān)注本站,現(xiàn)在開始吧!本文目錄一覽: 1、剪映字幕怎么一句一句的出來 2、剪映字幕怎么全部復(fù)制 3、剪映字體顏色可以自己提取嗎 4、怎么提取視頻的語音內(nèi)容轉(zhuǎn)為文字 5、...

商城送電器騙局(商城送電器騙局套路)

商城送電器騙局(商城送電器騙局套路)

本篇文章給大家談?wù)勆坛撬碗娖黩_局,以及商城送電器騙局套路對(duì)應(yīng)的知識(shí)點(diǎn),希望對(duì)各位有所幫助,不要忘了收藏本站喔。 本文目錄一覽: 1、京東商城是騙人沒商量.賣假貨,送貨慢.把我給氣的!!!!! 2、街上 電器抽獎(jiǎng)騙人怎么回事?真正原因是什么? 3、國(guó)美電器 騙子 4、安電信寬帶送家電活動(dòng)是...