最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

.net?6精簡(jiǎn)版webapi教程及熱重載、代碼自動(dòng)反編譯演示

 更新時(shí)間:2021年12月01日 15:04:22   作者:WeskyNet  
這篇文章介紹了.net?6精簡(jiǎn)版webapi教程及熱重載、代碼自動(dòng)反編譯演示,對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧

前言:

.net6LTS版本發(fā)布已經(jīng)有若干天了。此處做一個(gè)關(guān)于使用.net6開發(fā)精簡(jiǎn)版webapi(minimalapi)的入門教程,以及VS2022上面的兩個(gè)強(qiáng)大的新技能(熱重載、代碼自動(dòng)反編譯)的順帶演示。

1、新建一個(gè)項(xiàng)目。此處就命名為SomeExample:

2、選擇.net6版本,并且此處先去掉HTTPS配置以及去掉使用控制器的選項(xiàng):

3、創(chuàng)建完成以后,原始畫面如下所示。并且,解決方案一欄只剩下program文件,其他文件都被精簡(jiǎn)掉了。并且沒有Main函數(shù)入口和命名空間等。

4、接下來開始做幾個(gè)簡(jiǎn)單的webapi方法案例。先刪掉原有的,替換為自定義的來個(gè)webapi方法,一個(gè)Get,一個(gè)Post。具體代碼如下圖所示。

5、運(yùn)行以后,會(huì)打開自帶的swagger頁(yè)面。大佬們可以自行比對(duì)代碼部分和swagger部分的一些特點(diǎn)。

6、執(zhí)行HelloWorld這個(gè)Get方法的執(zhí)行結(jié)果,如下圖所示。

7、執(zhí)行HelloMiniApi這個(gè)Post方法的執(zhí)行結(jié)果,如下圖所示。

8、Api根據(jù)不同的用途,在swagger展示上面,咱們還可以對(duì)它進(jìn)行一些分類。分類通過設(shè)置Tags標(biāo)簽來實(shí)現(xiàn),具體設(shè)置內(nèi)容:在方法的末尾設(shè)置WithTags,里面指定分類的顯示的名稱。運(yùn)行以后的swagger展示效果和有關(guān)代碼,如下圖所示。

9、對(duì)api方法進(jìn)行分代碼文件管理。如果API方法很多,全寫在program里面也不現(xiàn)實(shí)。所以下面做個(gè)拓展。新建用于測(cè)試使用的靜態(tài)類TestService,并且實(shí)現(xiàn)一個(gè)靜態(tài)方法TestApi。其中,方法的參數(shù)必須是thisWebApplication。然后就可以通過傳入的參數(shù),來拓展實(shí)現(xiàn)webapi,例如此處新增一個(gè)ServiceApi的api方法,以及有關(guān)其他實(shí)現(xiàn),如下圖所示。

10、新增拓展的api以后,需要在program文件里面引用使用,詳細(xì)內(nèi)容如下圖所示。

11、運(yùn)行以后的swagger展示圖。

12、測(cè)試下執(zhí)行結(jié)果,返回預(yù)期結(jié)果,說明測(cè)試成功。

13、測(cè)試下VS2022熱重載的功能,在返回值里面進(jìn)行修改,然后點(diǎn)擊熱重載小火苗按鈕進(jìn)行熱更新。

14、熱更新以后,不需要重新編譯,直接在swagger展示頁(yè)對(duì)剛才設(shè)置的api方法進(jìn)行調(diào)用,調(diào)用結(jié)果如下圖所示,說明熱重載更新成功。將來遇到需要調(diào)試的代碼時(shí)候,大佬們都可以很方便地進(jìn)行熱更新,無需重新編譯,可以大大提高效率。

15、接下來是依賴注入的驗(yàn)證測(cè)試。新增一個(gè)測(cè)試服務(wù)類TestDependencyInjection,具體實(shí)現(xiàn)內(nèi)容如圖所示。

16、TestDependencyInjection對(duì)應(yīng)的接口ITestDependencyInjection內(nèi)容:

17、在program文件里面,對(duì)上面的服務(wù)進(jìn)行注冊(cè)。此處注冊(cè)一個(gè)單例實(shí)例,具體代碼如下圖展示。

18、接下來是驗(yàn)證依賴注入是否成功。此處我在ServiceApi這個(gè)webapi方法里面進(jìn)行注入。注入需要注意事項(xiàng):在webapi方法的委托類型的參數(shù)里面,第一個(gè)參數(shù)必須是HttpContext;然后后面是自己的參數(shù),此處是注入服務(wù)的接口。并且在api方法里面調(diào)用了show方法進(jìn)行驗(yàn)證。

19、運(yùn)行程序,在swagger展示頁(yè)面點(diǎn)擊執(zhí)行對(duì)應(yīng)的webapi方法,并查看結(jié)果。如下圖所示,輸出show方法里面的內(nèi)容,代表依賴注入成功。

20、再擴(kuò)展個(gè)VS2022的隱藏技能:引用的第三方或者nuget包時(shí)候(不限制.net版本),在對(duì)應(yīng)的封裝的類或者方法上面,按F12,可以直接進(jìn)入到反編譯以后的代碼里面去,可以看到封裝的源碼。例如此處以UseSwagger為例,在此處按F12進(jìn)去瞅瞅究竟。

21、正常情況下咱們應(yīng)該F12進(jìn)去只能看見屬性名稱、方法名稱,看不到具體實(shí)現(xiàn)。而現(xiàn)在是可以看到具體實(shí)現(xiàn)的代碼的。如下圖所示,方法里面的具體代碼都有,也可以繼續(xù)進(jìn)一步F12去看底層的代碼。

以上就是本文的全部?jī)?nèi)容,希望對(duì)大家的學(xué)習(xí)有所幫助,也希望大家多多支持腳本之家。

相關(guān)文章

  • ASP.NET中Image控件使用詳解

    ASP.NET中Image控件使用詳解

    本文詳細(xì)介紹了Image控件的使用方法,用實(shí)例演示了Image控件的用法,希望對(duì)大家有所幫助。
    2016-04-04
  • ASP.NET中 TextBox 文本輸入框控件的使用方法

    ASP.NET中 TextBox 文本輸入框控件的使用方法

    TextBox 控件為用戶提供了一種向 ASP.NET 網(wǎng)頁(yè)中鍵入信息(包括文本、數(shù)字和日期)的方法。
    2016-04-04
  • WPF綁定Binding用法

    WPF綁定Binding用法

    這篇文章介紹了WPF綁定Binding用法,對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2022-01-01
  • ASP.NET?Core中的wwwroot文件夾

    ASP.NET?Core中的wwwroot文件夾

    這篇文章介紹了ASP.NET?Core中的wwwroot文件夾,對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2022-02-02
  • ASP.NET?Core命名空間System.Text.Encodings.Web介紹

    ASP.NET?Core命名空間System.Text.Encodings.Web介紹

    這篇文章介紹了ASP.NET?Core命名空間System.Text.Encodings.Web,對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2022-01-01
  • 如何在WebForm中使用javascript防止連打(雙擊)

    如何在WebForm中使用javascript防止連打(雙擊)

    如何在WebForm中使用javascript防止連打(雙擊)...
    2007-01-01
  • ASP.NET?CORE基礎(chǔ)教程

    ASP.NET?CORE基礎(chǔ)教程

    本文詳細(xì)講解了ASP.NET?CORE的基礎(chǔ)教程,文中通過示例代碼介紹的非常詳細(xì)。對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下
    2022-01-01
  • AjaxControlToolKit CalendarExtender(日歷擴(kuò)展控件)的使用方法

    AjaxControlToolKit CalendarExtender(日歷擴(kuò)展控件)的使用方法

    使用方法很簡(jiǎn)單,就不啰嗦那么多了 翻譯過來就是 日歷擴(kuò)展控件吧 配合TextBox控件使用只要TextBox獲的焦點(diǎn)就會(huì)顯示出來日歷
    2008-10-10
  • Blazor頁(yè)面組件用法介紹

    Blazor頁(yè)面組件用法介紹

    這篇文章介紹了Blazor頁(yè)面組件的用法,對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2022-01-01
  • WPF控件模板與其觸發(fā)器

    WPF控件模板與其觸發(fā)器

    這篇文章介紹了WPF控件模板與其觸發(fā)器,對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2022-01-01

最新評(píng)論

安陆市| 周宁县| 鸡西市| 怀远县| 五常市| 黎城县| 柘城县| 江门市| 乐昌市| 韶山市| 云和县| 安国市| 巴彦淖尔市| 宁德市| 南召县| 筠连县| 永泰县| 甘泉县| 香格里拉县| 襄樊市| 茶陵县| 建水县| 鹰潭市| 保靖县| 遵义市| 宕昌县| 六安市| 丰都县| 九龙坡区| 延边| 太谷县| 彰化县| 阜宁县| 巴楚县| 通许县| 逊克县| 小金县| 峨边| 上林县| 宕昌县| 合水县|