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