asp服务器_Asp.Net Core2.2从环境配置到应用建立
【前言】
.Net Core開源&跨平臺,已經(jīng)肉眼可見將成為.Net平臺的未來,在企業(yè)招聘需求上已經(jīng)頻頻見到,接觸到很多公司內(nèi)部都已經(jīng)開始嘗試Core的項目了,尤其是騰訊的財付通全部是基于Core+微服務(wù)搭建的,讓人倍感振奮!Eleven最近出個專題,以當下最新的Asp.Net Core 2.2 Preview3為版本,給大家來一套系統(tǒng)教程,希望小伙伴兒們能多多關(guān)注!
【環(huán)境搭建】
我這邊使用的VisualStudio版本為2017企業(yè)版15.7.4(并不是最新版本,專業(yè)版社區(qū)版也都是可以的)。之前安裝是自帶的Core是1.1版本,現(xiàn)在需要安裝最新的sdk(dotnet-sdk-2.2.100-preview3-009430-win-x64.exe),以及最新的runtime(dotnet-runtime-2.2.0-preview3-27014-02-win-x64)。相關(guān)環(huán)境配置,需要的話可以關(guān)注底部公眾號后,聯(lián)系助教老師獲取!
【項目建立】
下面開始動手建立Asp.Net Core2.2項目了,添加項目,選擇Web,然后選擇 ASP.NET Core Web應(yīng)用程序模板,另外那個是原來的Framework版本的。
這里選擇.NET Core,然后選擇最新的ASP.NET Core2.2,選擇下面的MVC應(yīng)用程序,點擊確定即可完成創(chuàng)建!建立完后的項目如下,一個典型的MVC項目,但是跟Framework下的有明顯差異,增加了Program和Startup,這二位將是本文的主角了!
【Program】
看到Program,應(yīng)該有種很親切的感覺,包括里面的Main方法,這就是整個程序的入口。實際上,我們建立的這個項目,本質(zhì)就是個控制臺程序而已,查看項目屬性可以得知。但為啥這個Program能當成MVC網(wǎng)站呢?
秘密就是那個CreateDefaultBuilder方法,這里面是啟動一個Kestrel的服務(wù)器來完成請求的監(jiān)聽和響應(yīng)的,在以前Core版本里,這里還有很多的配置項,現(xiàn)在已經(jīng)內(nèi)置為一個Default了。然后這里簡單理解下,就是初始化一個服務(wù)器,然后Run一下,我們的Web服務(wù)器就算是啟動了。其中在初始化服務(wù)器的時候,使用了一個Startup類,下面來詳析一番!
【Startup】
在 ASP.NET Core 中,Startup 類提供了應(yīng)用程序的入口,而且在所有應(yīng)用程序中都有 Startup 類。ASP.NET 會在主程序集中搜索名為 Startup 的類(在任何命名空間下)。ASP.NET 并不關(guān)心 Startup 類是不是定義為 public,如果它符合命名規(guī)范,ASP.NET 將繼續(xù)加載它。如果有多個 Startup 類,也不會觸發(fā)異常,ASP.NET 將基于命名空間選擇其中一個(匹配項目的根命名空間優(yōu)先,否則使用第一個按字母排列的命名空間中的類)。
打開Startup類,大概分三塊,這個是典型的構(gòu)造函數(shù)注入,完成了一個叫IConfiguration類型變量的注入,至于是怎么注入的,后文中會講到。這個變量是用來讀取配置文件的,跟以前Framework下那個System.ConfigurationManager類差不多的。
然后是ConfigureServices方法,上面的注釋描述的很清楚,是交給運行時環(huán)境調(diào)用的方法,然后用來給容器注冊服務(wù)的(跟剛才說到的注入一致)。在Asp.Net Core里面,IOC容器是直接內(nèi)置了的,也就是這個IServiceCollection。感興趣的小伙伴兒可以去嘗試下,直接nuget就可以下載Microsoft.Extensions.DependencyInjection,跟常見的容器用法幾乎一樣的,后面單獨開文章再講這個。這里完成全部需要依賴注入對象的初始化。
最下面是Configure方法,也是由運行時環(huán)境調(diào)用的,用來配置HTTP請求的處理管道的。Web的本質(zhì)就是對Http請求的處理,最終得到一個響應(yīng)結(jié)果,而這個方法,清晰的描述了,該如何去處理請求。
【內(nèi)置服務(wù)和啟動】
下面我就可以啟動網(wǎng)站了,以前在做網(wǎng)站開發(fā)測試的時候,習慣性的去指定一下網(wǎng)站的端口和默認頁,但是現(xiàn)在項目類型是控制臺項目,相關(guān)的配置現(xiàn)在轉(zhuǎn)移到項目的Properties--->launchSettings.json文件里面,可以在這里修改生效!順便說一下,因為建立項目的時候,勾選了SSL支持,那么這里啟動的會是https的Url,而且這個sslPort好像只能是以443開頭,否則可能會無法訪問。
然后一個完全沒有做任何修改的Asp.Net Core2.2的項目就運行起來啦!
【結(jié)語】
本篇只介紹了最基本的環(huán)境搭建和項目建立過程,解釋了一番項目結(jié)構(gòu),下一篇文章中將帶大家嘗試一些簡單的功能開發(fā)嘗試了!在這里應(yīng)該感慨一下,Asp.Net Core的項目,外表看上去和之前,就是相當?shù)牟灰粯?#xff0c;而在本質(zhì)上,變化可能會更多的。但是這些變化都是向著更優(yōu)秀的方向的,希望大家能敞開心胸,擁抱變化!歡迎關(guān)注公眾號,歡迎討論,歡迎轉(zhuǎn)發(fā),愿天下有需求的人都能看到!
看完本文有收獲?請轉(zhuǎn)發(fā)分享給更多人
關(guān)注「.net學院」,提升.Net技能
覺得文章不錯,可以留言,免費送資源喲。。。。
總結(jié)
以上是生活随笔為你收集整理的asp服务器_Asp.Net Core2.2从环境配置到应用建立的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: python编程题三
- 下一篇: 不确定mysql是否安装成功了怎么办