国产亚洲精品福利在线无卡一,国产精久久一区二区三区,亚洲精品无码国模,精品久久久久久无码专区不卡

當(dāng)前位置: 首頁(yè) > news >正文

做盜版網(wǎng)站違法嗎湖南網(wǎng)站設(shè)計(jì)

做盜版網(wǎng)站違法嗎,湖南網(wǎng)站設(shè)計(jì),成都新都建設(shè)銀行網(wǎng)站,寧波網(wǎng)站免費(fèi)制作🚀前言 本文是《.Net Core進(jìn)階編程課程》教程專欄的導(dǎo)航站(點(diǎn)擊鏈接,跳轉(zhuǎn)到專欄主頁(yè),歡迎訂閱,持續(xù)更新…) 專欄介紹:通過(guò)源碼實(shí)例來(lái)講解Asp.Net Core進(jìn)階知識(shí)點(diǎn),讓大家完全掌握每一…

🚀前言
本文是《.Net Core進(jìn)階編程課程》教程專欄的導(dǎo)航站(點(diǎn)擊鏈接,跳轉(zhuǎn)到專欄主頁(yè),歡迎訂閱,持續(xù)更新…)

專欄介紹:通過(guò)源碼實(shí)例來(lái)講解Asp.Net Core進(jìn)階知識(shí)點(diǎn),讓大家完全掌握每一個(gè)知識(shí)點(diǎn)。

專欄適用于人群:Web后端開(kāi)發(fā)人員
————————————————

本課程內(nèi)容:

1、動(dòng)態(tài)Web API背景

2、動(dòng)態(tài)Web API實(shí)現(xiàn)原理

3、識(shí)別自定義控制器

一、動(dòng)態(tài)Web API背景

一說(shuō)到動(dòng)態(tài)Web API,很多人都是因?yàn)槭褂肁BP框架了解的。在講解如何實(shí)現(xiàn)之前,我們了解下動(dòng)態(tài)Web API的好處!

在DDD框架中,領(lǐng)域?qū)雍蛻?yīng)用層是核心、所有業(yè)務(wù)處理與邏輯全部放在這兩個(gè)層,而API層是只是薄薄的一層。

比如:DDD教程里的API代碼,都是只有2行代碼。

這樣就存在2個(gè)問(wèn)題:

1、每一個(gè)對(duì)外提供的API接口,我們都需要編寫(xiě),這些都很機(jī)械化的代碼。

2、EletricAuthorize權(quán)限驗(yàn)證,其實(shí)是屬于應(yīng)用層的,但這邊被放在API層。

而通過(guò)動(dòng)態(tài)Web API,可以減少代碼量、提升工作效率等諸多好處。

二、動(dòng)態(tài)Web API實(shí)現(xiàn)原理

2.1 應(yīng)用程序部件

我們之所以可以實(shí)現(xiàn)動(dòng)態(tài)Web API,要?dú)w功于Asp.net Core為我們提供的:應(yīng)用程序部件。

在Asp.Net Core架構(gòu)里,MVC控制器、視圖組件、Razor Pages、Razor 視圖、標(biāo)記幫助程序(Tag Helpers)等都是一個(gè)獨(dú)立的功能組件,它允許我們通過(guò)發(fā)現(xiàn)并加載應(yīng)用程序中的特定功能組件。

比如:Web API只需加載MVC控制器、MVC架構(gòu)的程序需要加載MVC控制器、視圖組件。

比如官方文檔里示例里,就是通過(guò)加載外部的DLL庫(kù),來(lái)加載控制器。

官方文檔地址:https://learn.microsoft.com/zh-cn/aspnet/core/mvc/advanced/app-parts?view=aspnetcore-8.0

2.2 獨(dú)立控制器項(xiàng)目示例

下面用一個(gè)示例來(lái)演示下,如何使用。

2.2.1 新建Web API項(xiàng)目

項(xiàng)目名稱:Electric.DynamicWebAPI

為了后續(xù)方便調(diào)試:勾選啟用OpenAPI,框架版本:這里選擇.Net 7.0(這里可以根據(jù)需求自行選擇)。

添加后的目錄:

2.2.2 新建控制器項(xiàng)目

選擇類(lèi)庫(kù)項(xiàng)目

項(xiàng)目名稱:Electric.Controller

框架:.Net 7.0

添加后的目錄:

2.2.3 新增控制器

在項(xiàng)目Electric.Controller,新增控制器:TestController。

TestController代碼:

using Microsoft.AspNetCore.Mvc;namespace Electric.Controller
{[ApiController][Route("[controller]")]public class TestController : ControllerBase{[HttpGet]public string GetName(){return "GetName";}}
}
2.2.4 編譯項(xiàng)目Electric.Controller

編譯后把dll拷貝至 Electric.DynamicWebAPI項(xiàng)目bin目錄下。

2.2.5 Electric.DynamicWebAPI加載控制器

在Program.cs加載程序集dll。

當(dāng)然了,如果Electric.DynamicWebAPI如果引用了項(xiàng)目TestController,Asp.Net Core框架會(huì)默認(rèn)掃描所有控制器,就不需要添加上面的代碼。

//加載控制器var assembly = Assembly.LoadFile(AppDomain.CurrentDomain.BaseDirectory + "Electric.Controller.dll");builder.Services.AddControllers().AddApplicationPart(assembly);

2.2.6 運(yùn)行項(xiàng)目

運(yùn)行項(xiàng)目后,我們就可以看到控制器:TestController,已經(jīng)被加載了。

2.3 ApplicationPartManager

通過(guò)官方文檔和上面的演示,知道Asp.Net Core為我們提供了ApplicationPartManager,來(lái)方便我們根據(jù)需求來(lái)加載各種組件,比如控制器組件、視圖組件等。

官方文檔也告訴我們,通過(guò)AddApplicationPart和ConfigureApplicationPartManager,都可以實(shí)現(xiàn)加載組件。

3、識(shí)別自定義控制器

3.1 問(wèn)題

看完上面的例子,可能會(huì)有很多人會(huì)產(chǎn)生一個(gè)問(wèn)題:你定義的控制器,是繼承了ControllerBase,Asp.Net Core可以自動(dòng)識(shí)別,但是我們?cè)贒DD框架中,編寫(xiě)的可是應(yīng)用服務(wù),不會(huì)去繼承ControllerBase。

3.2 檢查應(yīng)用程序部件

針對(duì)上面的問(wèn)題,我們就需要用到:檢查應(yīng)用程序部件。

Asp.net Core也為我們提供了檢查應(yīng)用程序部件的方法,通過(guò)這些功能提供程序,我們就可以告訴

Asp.net Core哪一個(gè)是控制器。

3.3 ApplicationPartManager 定義

我們通過(guò)ApplicationPartManager的源碼定義看,我們就可以很清楚的知道。

我們要實(shí)現(xiàn)動(dòng)態(tài)API,只需兩個(gè)步驟:

1、為ApplicationParts加載程序集資源;

2、為FeatureProviders添加檢查應(yīng)用程序部件的方法,告訴Asp.net Core哪一個(gè)是控制器。

四、最后

【.Net動(dòng)態(tài)Web API】背景與實(shí)現(xiàn)原理就介紹到這邊啦!

下一個(gè)課程講解:如何實(shí)現(xiàn)動(dòng)態(tài)控制器!

這個(gè)系列預(yù)計(jì)一天一篇文章,想要學(xué)習(xí)的可以關(guān)注起來(lái)!

文章會(huì)持續(xù)更新,大家有想要了解的功能點(diǎn)或者話題,可以在評(píng)論區(qū)告訴我!

【本課程源碼下載鏈接】加我:xgbbwj

http://aloenet.com.cn/news/46128.html

相關(guān)文章:

  • 模板做圖 網(wǎng)站有哪些友情鏈接平臺(tái)
  • 做餐飲在環(huán)保局網(wǎng)站備案手機(jī)網(wǎng)頁(yè)制作軟件
  • seo網(wǎng)站做推廣的公司輔導(dǎo)班培訓(xùn)機(jī)構(gòu)
  • 相冊(cè)管理網(wǎng)站模板外鏈怎么打開(kāi)
  • 做京東網(wǎng)站的摘要百度seo搜索引擎優(yōu)化方案
  • 找個(gè)公司做網(wǎng)站需要注意什么百家號(hào)seo怎么做
  • 163域名注冊(cè)屬于seo網(wǎng)站優(yōu)化
  • 企業(yè)營(yíng)銷(xiāo)網(wǎng)站建設(shè)規(guī)劃百度網(wǎng)站優(yōu)化公司
  • 怎么在網(wǎng)站上做視頻百度電腦版網(wǎng)頁(yè)
  • 設(shè)計(jì)一個(gè)網(wǎng)頁(yè)的策劃書(shū)怎么優(yōu)化網(wǎng)站排名才能起來(lái)
  • 做30個(gè)精品網(wǎng)站北京做網(wǎng)站的公司有哪些
  • 網(wǎng)站開(kāi)發(fā)教育培訓(xùn)百度排名點(diǎn)擊器
  • 假的建設(shè)銀行網(wǎng)站國(guó)際時(shí)事新聞2022最新
  • 制作書(shū)簽簡(jiǎn)單又漂亮seo網(wǎng)站優(yōu)化怎么做
  • 設(shè)計(jì)公司調(diào)研報(bào)告怎么學(xué)seo基礎(chǔ)
  • 做網(wǎng)站開(kāi)源互聯(lián)網(wǎng)推廣運(yùn)營(yíng)
  • meetsh網(wǎng)站建設(shè)營(yíng)銷(xiāo)策劃公司介紹
  • 扒下來(lái)的網(wǎng)站怎么做修改seo教學(xué)視頻教程
  • 網(wǎng)站后臺(tái)出現(xiàn)亂碼網(wǎng)絡(luò)營(yíng)銷(xiāo)推廣的方式
  • 網(wǎng)絡(luò)公司的名字優(yōu)化手機(jī)流暢度的軟件
  • 網(wǎng)店代運(yùn)營(yíng)怎么做廣東seo網(wǎng)站設(shè)計(jì)
  • 網(wǎng)站開(kāi)發(fā)女生可以做嗎淘寶指數(shù)網(wǎng)站
  • 京東商城網(wǎng)站地址是多少今日最新的新聞
  • 旅游信息網(wǎng)站開(kāi)發(fā)背景站內(nèi)關(guān)鍵詞排名優(yōu)化軟件
  • 建設(shè)部網(wǎng)站1667號(hào)北京seo外包平臺(tái)
  • 網(wǎng)站點(diǎn)擊率多少正常怎樣在百度做廣告宣傳
  • 湖北移動(dòng)網(wǎng)站建設(shè)互聯(lián)網(wǎng)營(yíng)銷(xiāo)的五個(gè)手段
  • 網(wǎng)站怎么做推廣和優(yōu)化seo推廣知識(shí)
  • 泰州網(wǎng)站建設(shè)多少錢(qián)北京環(huán)球影城每日客流怎么看
  • 做網(wǎng)站建設(shè)價(jià)格網(wǎng)絡(luò)軟文營(yíng)銷(xiāo)案例3篇