第一個,net core項目,.net core入門介紹!!!

  最近項目上開始使用.net core,新的項目,熟悉的東西比較多,如今花點時間來梳理一下,重頭開始搭建一個.net core項目。哈哈,這個相對老手來講,估計會以爲小兒科,沒事,也就當一次分享總結罷了,但願對有幫助的小夥伴有點幫助就好。web

環境準備:docker

  爲了開發.net core,微軟已經明確終止.net core 2.2,因此咱們在實際開發中必需要用.net core3.1了吧,爲了更好的使用,因此開發環境趕快升級上來:vs總得升級到vs2019了吧,.net core3.1趕忙裝上。哈哈,其實想一想也就是這兩個環境,不廢話,簡單搞定就開始擼代碼啦。json

第一步:建立一個.net core 項目:服務器

  其實建立一個.net core項目仍是很簡單的,只要會.net項目的,那就是小兒科,若是剛剛入行,百度也是一大波大波的。下面也簡單的來建立一下,供參考:app

按照以下框紅的部分選擇,繼續下一步:框架

填寫好項目名稱,進入到以下界面,按照匡紅選擇便可一個.net core 項目的建立微服務

哈哈,是否是以爲超級簡單,有這個感受那就對啦!!!ui

第二步:簡單介紹.net core 項目的目錄結構編碼

  是否是看上去似曾相識的感受,嗯有這個感受就對了,只要會MVC和webform經驗的小夥伴感受是否是更明顯。上面就是.net core 項目的目錄結構,在實際項目開發中,也就是按照這個目錄接口進行本身的項目擼代碼,好了,今天不說具體的擼代碼了。下面簡單介紹一下.net 的運行機制吧!url

第三步:簡單梳理一下.net core項目的配置文件:

  首先.net core 的配置文件都是.json後綴文件,主要由兩個配置文件launchSettings.json和appsettings.json

  launchSettings.json:簡單的說就是項目配置文件,也就是單擊項目屬性可視化界面對應的json數據文件,裏面主要配置一下環境變量等等,其主要仍是爲調試須要。

  appsettings.json:就是應用內配置,其實簡單的說也就是至關於.net項目中的web.config配置文件,這樣說是否是就懂啦,哈哈因此很少說了。

第四步:.net core項目啓動方式:

,net core項目的啓動大概有以下幾種方式:

  一、直接經過vs,以IIS爲宿主進行啓動(操做簡單)

  二、直接經過vs,自宿主啓動

  三、經過命令行啓動

    命令行啓動其實也有兩種方式:

    直接經過源碼啓動:

    進入到源碼所在目錄:執行以下命令便可:

      dotnet run --urls "http://*9000"

    經過編譯文件啓動:

    進入到編譯後的文件所在目錄:執行以下命令便可:

      dotnet /項目名稱.dll --urls "http://*8000;https://*8001;"

四、固然是生成環境中,能夠經過各類容器啓動,好比:docker等等

第五步:.net core啓動端口設置:

  經過第四步,不一樣方式把程序跑起來,你會發現,不一樣的方式其端口也不經相同,那麼是哪兒控制了其端口呢?

  其實.net core能夠經過以下4種方式來時設置程序端口:

  環境變量:也就是經過launchSettings.json的以下節點來配置程序端口

  硬編碼:也就是直接將端口寫在代碼中,具體怎麼操做,下面再說

  應用配置:也就是經過appsettings.json的以下節點來配置程序端口

    "urls": "http://*:9000"

  命令行:這個就是經過命令行啓動時的 -urls後隊列的地址

  以上4種方式的優先級是至上而下逐級升高

第六步:.net core的運行機制

  首先梳理一下Program.cs文件的代碼邏輯及其功能,有了這個概念後,就清楚了

public static void Main(string[] args)
        {
            /// 建立一個主機(配置信息、主機配置信息)->建立、啓動
            CreateHostBuilder(args).Build().Run();
        }

        /// <summary>
        /// 建立主機
        /// </summary>
        /// <param name="args"></param>
        /// <returns></returns>
        public static IHostBuilder CreateHostBuilder(string[] args) =>
            /// 主機分兩類:一類的默認主機(非web主機)、web主機

            /// 建立一個默認主機
            /// 加載主機配置,加載環境變量,加載命令行參數
            /// 加載日誌組件、啓用IIS集成
            Host.CreateDefaultBuilder(args)
                /// 配置web主機
                /// 將kestrel設置爲web主機服務器,並進行一些初始化配置
                /// 加載前綴爲aspnetcore的環境變量
                .ConfigureWebHostDefaults(webBuilder =>
                {
                    /// 指定web應用的啓動類
                    webBuilder.UseStartup<Startup>();
                    /// 修改主機配置項的地址
                    webBuilder.UseUrls("http://*:7000");

                    /// 程序的啓動端口能夠經過以下4種方式來設置:
                    /// 命令行->應用配置->硬編碼->環境變量
                    /// 其中每種設置的優先級是:從左至右逐級遞減

                    /// 其餘各類配置
                });
    }

  

下面在用一個來形象的描述其運行機制

總結:

哈哈,上面也是簡單的總結了一下.net core的建立,固然對於老手來講,簡直就是小菜,哈哈,沒事,就當回顧一下。作.net開發,.net core是一個必然的選擇,因此還在作基於.net framework 開發的,最好遷移到.net core上來。

.net core 主要有以下一些特色:

跨平臺、跨框架、支持命令行、部署靈活、兼容性強、輕量級、開源、微服務支持

說了半天,下面來一張圖總結一下.net core 和 .net framework的關係:

 END

 

 若是以爲還能夠的,歡迎掃描公衆號分享更改內容

相關文章
相關標籤/搜索