在IIS上部署ASP.NET Core Web API的方法步驟
對于本文,我想與您分享有關(guān)如何在IIS上部署ASP.NET Core Web API的指南。我將指導(dǎo)您安裝Visual Studio 2019,.NET Core Runtime 3.0。我還確保我逐步引導(dǎo)您在服務(wù)器(Web IIS)中啟用它,使用no受管代碼選項(xiàng)創(chuàng)建新的應(yīng)用程序池,創(chuàng)建ASP.NET Core Web API項(xiàng)目以及發(fā)布ASP.NET Core Web API。
了解并遵循正確的步驟來準(zhǔn)備開發(fā)和部署環(huán)境后,在IIS上部署ASP.NET Core Web API就是一件容易的事。
幾天前,Microsoft的Visual Studio團(tuán)隊(duì)宣布了其旗艦產(chǎn)品的一些重大更新,其中包括Dot Net Core 3.0,Visual Studio 16.3,C#8.0和其他產(chǎn)品,我認(rèn)為這對幫助您開始學(xué)習(xí)這些出色功能很有幫助。
對于本文,我想與您分享有關(guān)如何在IIS上部署ASP.NET Core Web API的指南。
Visual Studio 2019和Dot Net Core 3.0
您需要下載并安裝的第一個(gè)也是最重要的東西是Visual Studio 2019的最新版本,撰寫本文時(shí)的版本是VS 16.3。
此版本的Visual Studio 2019支持最新版本的Dot Net Core SDK,即3.0。請注意,您無法使用Visual Studio 2017開發(fā)Dot Net Core 3應(yīng)用程序。
在正常情況下,由于您已經(jīng)安裝了Visual Studio 2019的最新版本,因此不必單獨(dú)下載SDK,但是,如果您打開Visual Studio 2019并且由于任何原因都看不到Dot Net Core 3的選項(xiàng),則您可以從Microsoft的官方網(wǎng)站下載Dot Net Core SDK。
開源社區(qū)與Microsoft共同付出了巨大的努力,以不斷更新和改進(jìn)Dot Net Core SDK和運(yùn)行時(shí),因此您可能會(huì)在接下來的幾天中注意到Dot Net Core SDK和Runtime的更新版本。
Windows Server上的Dot Net Core運(yùn)行時(shí)
將Dot Net Core Runtime 3.0(Windows托管捆綁包安裝程序)下載并安裝到托管Windows服務(wù)器中。這應(yīng)該是一個(gè)非常簡單的步驟。
但是,如果您無權(quán)執(zhí)行此安裝,則可以要求托管服務(wù)器管理員為您執(zhí)行此安裝,否則,您將ASP.NET Core Web API部署為獨(dú)立的部署,這將贏得不需要在托管服務(wù)器中安裝Dot Net Core Runtime。所有必需的運(yùn)行時(shí)庫將作為App部署容器的一部分包含在內(nèi)。
這使您對應(yīng)用程序投入生產(chǎn)后充滿信心,使其表現(xiàn)出完全如您所測試的那樣,并且服務(wù)器的Dot Net Core Framework上的任何更新都不會(huì)影響您的應(yīng)用程序。
但是它的缺點(diǎn)是您的部署大小將大大大于框架相關(guān)的部署類型(該類型依賴于服務(wù)器中共享的Dot Net Core Runtime)。
在服務(wù)器上啟用IIS
服務(wù)器中必須啟用的另一件事是Web IIS功能。您可能已經(jīng)在托管服務(wù)器中啟用了此功能,但是,您必須驗(yàn)證是否已在其中安裝了該功能。
在Windows Server上,打開“服務(wù)器管理器”,然后依次選擇“IIS”,“管理”并選擇“添加角色和功能”,然后轉(zhuǎn)到“功能”,然后查看是否已啟用“Web IIS”復(fù)選框,如果沒有,請繼續(xù)進(jìn)行安裝。
IIS應(yīng)用程序池
為了使Dot Net Core應(yīng)用程序能夠在IIS下運(yùn)行,我們必須使用nomanaged code選項(xiàng)創(chuàng)建一個(gè)新的應(yīng)用程序池。
IIS應(yīng)用程序池對Dot Net Core Apps的運(yùn)行時(shí)沒有任何影響,它僅用作反向代理。
要?jiǎng)?chuàng)建應(yīng)用程序池,請打開您的IIS管理器,然后導(dǎo)航到“應(yīng)用程序池”,然后單擊“添加應(yīng)用程序池”,將出現(xiàn)一個(gè)對話框,為其命名,例如“DotNetCore”。
在.NET Framework版本中,選擇“無托管代碼”,然后按原樣保留最后一個(gè)選項(xiàng),然后按確定。
您應(yīng)該能夠在“應(yīng)用程序池”面板中看到新創(chuàng)建的應(yīng)用程序池。
IIS網(wǎng)站
由于我們已經(jīng)準(zhǔn)備好應(yīng)用程序池,因此現(xiàn)在我們需要在IIS站點(diǎn)下創(chuàng)建一個(gè)新網(wǎng)站。因此,從IIS管理器的左側(cè)菜單中,右鍵單擊站點(diǎn),然后選擇“添加網(wǎng)站 ”。
在對話框中,為其命名,例如“My Asp Net Core Web Api”,將其分配給新創(chuàng)建的應(yīng)用程序池“DotNetCore”,然后選擇網(wǎng)站文件夾的物理路徑,確保在服務(wù)器的驅(qū)動(dòng)器中在所需的任何位置創(chuàng)建一個(gè)文件夾。
在“綁定”部分中,確保為它提供一個(gè)用于http的新綁定端口,例如5100和https(例如6100),或者根據(jù)您當(dāng)前的IIS找到合適的端口,您可能會(huì)為其他網(wǎng)站分配了不同的端口。
創(chuàng)建ASP.NET Core Web API項(xiàng)目
打開Visual Studio 2019,創(chuàng)建一個(gè)ASP.NET Core Web Application類型的新項(xiàng)目:
給它一個(gè)名稱和文件夾路徑。
然后選擇API作為項(xiàng)目模板,然后最后按Create。
Visual Studio完成創(chuàng)建項(xiàng)目后,即可嘗試運(yùn)行該應(yīng)用程序。
按下Visual Studio上的“運(yùn)行”按鈕,它將開始構(gòu)建Dot Net Core Web API項(xiàng)目,該API將托管在IIS Express下,它將打開一個(gè)具有l(wèi)ocalhost的本地瀏覽器,并將分配一些端口以及默認(rèn)控制器和動(dòng)作,并在瀏覽器上顯示一些結(jié)果。
如果在瀏覽器上看到一些json輸出,則意味著您的第一個(gè)ASP.NET Core Web API已啟動(dòng)并在您的計(jì)算機(jī)上運(yùn)行。
發(fā)布您的ASP.NET Core Web API
現(xiàn)在,讓我們在Windows服務(wù)器上也能正常工作。
我們已經(jīng)在服務(wù)器和IIS上準(zhǔn)備好了一切來運(yùn)行我們的網(wǎng)站,因此我們只需要將ASP.NET Core Web API發(fā)布文件發(fā)布到服務(wù)器上的空文件夾中即可。
右鍵單擊項(xiàng)目名稱,然后選擇發(fā)布。
之后,從發(fā)布設(shè)置中,選擇文件夾位置,然后將該路徑作為服務(wù)器中的新文件夾放置(如果可以通過計(jì)算機(jī)上的共享鏈接訪問新文件夾)。
或設(shè)置本地計(jì)算機(jī)的發(fā)布路徑,然后就可以將文件復(fù)制粘貼到服務(wù)器上的文件夾中。
接下來,單擊文件夾位置下的Advanced…鏈接。
然后選擇與框架相關(guān)的部署模式(因?yàn)槲覀円呀?jīng)在Windows Server內(nèi)部安裝了Dot Net Core Runtime 3.0)。
選擇目標(biāo)運(yùn)行時(shí)為win-x64(這應(yīng)基于目標(biāo)計(jì)算機(jī)的操作系統(tǒng)版本),然后按保存,最后按發(fā)布。
現(xiàn)在,Visual Studio將打包您的應(yīng)用程序,并將所有必需的文件寫入新文件夾。
在Visual Studio中收到“已成功發(fā)布”消息或看到上面修改了正確日期的文件后,請切換回windows服務(wù)器,驗(yàn)證新文件夾中是否包含已發(fā)布的文件,然后轉(zhuǎn)到IIS管理器下新創(chuàng)建的網(wǎng)站,右鍵單擊該網(wǎng)站,然后單擊“瀏覽”,然后在URL上添加正確的控制器名稱。
您應(yīng)該會(huì)在機(jī)器的瀏覽器中看到一些與json天氣有關(guān)的隨機(jī)結(jié)果。
恭喜!您已經(jīng)在IIS上創(chuàng)建并部署了第一個(gè)ASP.NET Core Web API。
注意:您可以通過從已發(fā)布的文件夾中打開Web.config并將stdoutLogEnabled屬性值更改為“true”來啟用ASP.NET Core Web API日志記錄,然后您將開始在已發(fā)布的API文件下的新文件夾中看到日志文件。
到這里,您就可以啟動(dòng)并運(yùn)行在IIS上發(fā)布的ASP.NET Core Web API。
若要進(jìn)一步閱讀,請查看本文有關(guān)Dot Net Core和Visual Studio 2019的最新更新的文章。
到此這篇關(guān)于在IIS上部署ASP.NET Core Web API的方法步驟的文章就介紹到這了,更多相關(guān)IIS部署ASP.NET Core Web API內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
相關(guān)文章
瀏覽器窗口滾動(dòng)加載數(shù)據(jù)采用異步形式從后臺(tái)加載數(shù)據(jù)
在滾動(dòng)條距頂部距離(頁面超出窗口的高度)時(shí)采用異步形式從后臺(tái)加載數(shù)據(jù),下面是具體的實(shí)現(xiàn),希望對大家有所幫助2014-01-01.Net項(xiàng)目在Docker容器中開發(fā)部署
這篇文章介紹了.Net項(xiàng)目在Docker容器中開發(fā)部署的方法,對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧2022-04-04Asp.Net網(wǎng)站優(yōu)化系列之?dāng)?shù)據(jù)庫的優(yōu)化措施與索引優(yōu)化方法
索引的作用就類似于書的目錄,書的目錄會(huì)按照章節(jié)的順序排列,會(huì)指想某一張的位置。這樣如果在一本數(shù)百頁的書里面查找某個(gè)章節(jié)位置的時(shí)候,我們就可以只掃描書的目錄,掃描的范圍縮小了n倍,查詢的效率自然就提高了。2010-06-06ASP.NET內(nèi)置對象之Application對象
Application對象是HttpApplicationState類的一個(gè)實(shí)例,它可以產(chǎn)生一個(gè)所有Web應(yīng)用程序都可以存取的變量,這個(gè)變量的可以存取范圍涵蓋全部使用者,也就是說只要正在使用這個(gè)網(wǎng)頁的程序都可以存取這個(gè)變量。2008-09-09gridview行索引獲取方法及實(shí)現(xiàn)代碼
GridView行索引的獲取有利于對GridView行數(shù)據(jù)進(jìn)行操作(刪、改)等等,接下來介紹獲取方法,感興趣的朋友可以了解下,閱讀本文希望對你有幫助2013-01-01ASP.NET中Application和Cache的區(qū)別分析
在asp.net中儲(chǔ)存數(shù)據(jù)的方式有很多,包括application,session,cache, cookie, viewstate。其中application和cache的應(yīng)用范圍,使用方式都比較相似,這里主要對比一下這兩種方式。2010-03-03