欧美亚洲综合图区在线|天天射天天干国产成卜|99久久免费国产精精品|国产的欧美一区二区三区|日韩中文字幕无码不卡专区|亚麻成人aV极品一区二区|国产成人AV区一区二区三|成人免费一区二区三区视频网站

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

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

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

↓推薦關(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ū)犹峁┙涌?,基礎(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.landcheck.net/post/80791.html

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

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

網(wǎng)站seo優(yōu)化(網(wǎng)站SEO優(yōu)化方案)

網(wǎng)站seo優(yōu)化(網(wǎng)站SEO優(yōu)化方案)

本篇文章給大家談?wù)劸W(wǎng)站seo優(yōu)化,以及網(wǎng)站SEO優(yōu)化方案對(duì)應(yīng)的知識(shí)點(diǎn),希望對(duì)各位有所幫助,不要忘了收藏本站喔。 本文目錄一覽: 1、SEO優(yōu)化怎么做 2、怎么樣做好網(wǎng)站的 SEO 優(yōu)化? 3、網(wǎng)站SEO優(yōu)化的八種方法 4、網(wǎng)站SEO優(yōu)化方案 5、網(wǎng)站seo怎么優(yōu)化? 6、網(wǎng)站se...

關(guān)于順德網(wǎng)站建設(shè)的信息

關(guān)于順德網(wǎng)站建設(shè)的信息

今天給各位分享順德網(wǎng)站建設(shè)的知識(shí),其中也會(huì)對(duì)進(jìn)行解釋,如果能碰巧解決你現(xiàn)在面臨的問題,別忘了關(guān)注本站,現(xiàn)在開始吧!本文目錄一覽: 1、容桂網(wǎng)站建設(shè)哪家好? 2、佛山哪個(gè)公司的網(wǎng)站建設(shè)靠譜,特別是順德地區(qū)? 3、順德網(wǎng)絡(luò)公司網(wǎng)站設(shè)計(jì)有哪些項(xiàng)目 4、佛山順德的網(wǎng)站建設(shè)公司,請(qǐng)各位幫忙推薦一家...

公眾號(hào)模板插件免費(fèi)下載(公眾號(hào)模板插件免費(fèi)下載)

公眾號(hào)模板插件免費(fèi)下載(公眾號(hào)模板插件免費(fèi)下載)

今天給各位分享公眾號(hào)模板插件免費(fèi)下載的知識(shí),其中也會(huì)對(duì)公眾號(hào)模板插件免費(fèi)下載進(jìn)行解釋,如果能碰巧解決你現(xiàn)在面臨的問題,別忘了關(guān)注本站,現(xiàn)在開始吧!本文目錄一覽: 1、個(gè)人微信訂閱號(hào)不能開通頁面模版插件? 2、微信公眾號(hào)中服務(wù)號(hào)是否可以設(shè)置功能插件——頁面模板?如果可以要怎么設(shè)置?求微信大神幫我解...

建議信英語模板高中英語(高中英語建議信寫作模板)

建議信英語模板高中英語(高中英語建議信寫作模板)

今天給各位分享建議信英語模板高中英語的知識(shí),其中也會(huì)對(duì)高中英語建議信寫作模板進(jìn)行解釋,如果能碰巧解決你現(xiàn)在面臨的問題,別忘了關(guān)注本站,現(xiàn)在開始吧!本文目錄一覽: 1、環(huán)保建議信高中英語作文 2、英語作文建議信 3、高中英語寫作建議信句型 環(huán)保建議信高中英語作文 我們要懂得保護(hù)我們來...

明星祝福生日快樂模板(祝福明星生日快樂的句子)

明星祝福生日快樂模板(祝福明星生日快樂的句子)

本篇文章給大家談?wù)劽餍亲8I湛鞓纺0?,以及祝福明星生日快樂的句子?duì)應(yīng)的知識(shí)點(diǎn),希望對(duì)各位有所幫助,不要忘了收藏本站喔。 本文目錄一覽: 1、關(guān)于明星生日快樂的美句 2、祝自己的明星偶像生日快樂的句子? 3、明星過生日怎樣祝福 4、怎么祝自己喜歡的明星說生日快樂,有什么經(jīng)典的詞? 5...

手機(jī)如何查看網(wǎng)頁源代碼?(在手機(jī)上怎么查看網(wǎng)頁源代碼)

手機(jī)如何查看網(wǎng)頁源代碼?(在手機(jī)上怎么查看網(wǎng)頁源代碼)

本篇文章給大家談?wù)勈謾C(jī)如何查看網(wǎng)頁源代碼?,以及在手機(jī)上怎么查看網(wǎng)頁源代碼對(duì)應(yīng)的知識(shí)點(diǎn),希望對(duì)各位有所幫助,不要忘了收藏本站喔。 本文目錄一覽: 1、怎么查看手機(jī)網(wǎng)站頁面源碼 2、什么手機(jī)瀏覽器支持查看網(wǎng)頁源碼? 3、小米瀏覽器怎么看網(wǎng)頁源代碼 怎么查看手機(jī)網(wǎng)站頁面源碼 我們學(xué)習(xí)制作手機(jī)...