利用IIS調(diào)試ASP.NET網(wǎng)站程序的完整步驟
前言
在實(shí)際的開(kāi)發(fā)當(dāng)中,相信很多的開(kāi)發(fā)者在開(kāi)發(fā)調(diào)試ASP.NET網(wǎng)站時(shí)候都是直接通過(guò)Visual Studio工具的編譯運(yùn)行來(lái)調(diào)試的。
一般情況下,這種調(diào)試方式也不會(huì)有多少問(wèn)題,但有時(shí)候我們會(huì)發(fā)現(xiàn)這樣的一個(gè)情況,就是明明在本地調(diào)試運(yùn)行都沒(méi)有問(wèn)題的網(wǎng)站,部署到服務(wù)器IIS上,就出現(xiàn)無(wú)法描述的線上問(wèn)題。這時(shí)候,就要排除服務(wù)器環(huán)境是否跟本地環(huán)境一樣,其中一點(diǎn)還要涉及到IIS的配置的排除。
那問(wèn)題來(lái)了,我們能不能在開(kāi)發(fā)的時(shí)候,就部署在IIS上調(diào)試,而不是直接使用Visual Studio的運(yùn)行調(diào)試,這樣涉及到IIS配置的相關(guān)問(wèn)題就能及早的暴露出來(lái),比如IIS用戶的權(quán)限調(diào)用等。舉個(gè)很典型的例子,如我們調(diào)用微軟的Office Excel組件導(dǎo)出Excel的時(shí)候,就需要設(shè)置IIS用戶組對(duì)Com組件的調(diào)用權(quán)限。
在開(kāi)發(fā)階段就通過(guò)IIS對(duì)網(wǎng)站進(jìn)行調(diào)試,可以避開(kāi)很多因?yàn)镮IS設(shè)置問(wèn)題而導(dǎo)致的問(wèn)題。
下面來(lái)說(shuō)下配置IIS調(diào)試的步驟。
第一步 打開(kāi)你的IIS管理器,沒(méi)有安裝IIS服務(wù)器的請(qǐng)上網(wǎng)百度如何安裝,此處不再闡述。在IIS中新建一個(gè)網(wǎng)站,給定一個(gè)主機(jī)域名為test.com,并將網(wǎng)站目錄指向你web項(xiàng)目的根目錄,如下圖。
第二步 網(wǎng)站配置的應(yīng)用程序池很關(guān)鍵,上圖中的應(yīng)用程序池的名字叫testWeb,那這個(gè)應(yīng)用程序池的.NetFrameWork的版本號(hào)應(yīng)該跟你項(xiàng)目中使用的版本一致。我們點(diǎn)擊上圖左側(cè)的菜單【應(yīng)用程序池】,打開(kāi)應(yīng)用程序池列表,選中testWeb名稱的應(yīng)用程序池,確認(rèn)編輯好該程序池的版本號(hào)。如下圖
第三步 確保你的IIS的狀態(tài)為正在運(yùn)行而非停止的狀態(tài),并且確認(rèn)你網(wǎng)站的狀態(tài)以及網(wǎng)站對(duì)應(yīng)應(yīng)用程序池的狀態(tài)為正在運(yùn)行。
第四步 設(shè)置本地電腦的Host文件,配置本地域名test.com。讓瀏覽器識(shí)別test.com域名的指向是本地計(jì)算機(jī)。(此步驟非常關(guān)鍵,不然你在瀏覽器中輸入test.com會(huì)告知你無(wú)法解析)
我們?cè)陔娔X的C盤(pán)中查找系統(tǒng)的Host文件,Host文件一般在以下路徑中:C:\Windows\System32\drivers\etc。
找到Host文件后,用文本編輯器打開(kāi)host文件,推薦使用notepad++文本編輯器。打開(kāi)后,我們?cè)谧詈笠恍屑尤?27.0.0.1 test.com即可,配置完成后保存(Win10系統(tǒng)可能無(wú)法編輯保存,我們一般采取復(fù)制文件出來(lái),編輯完成后覆蓋回原文件),在瀏覽器中輸入test.com即可指向本地IIS中的網(wǎng)站,即你剛才配置的網(wǎng)站。
第五步 此時(shí)配置完畢后,我們?cè)谧约罕镜仉娔X的瀏覽器中輸入test.com的時(shí)候,就會(huì)指向你本地IIS配置的test.com網(wǎng)站中,即你當(dāng)前開(kāi)發(fā)的網(wǎng)站。
第六步 如果test.com網(wǎng)站測(cè)試中發(fā)現(xiàn)相應(yīng)的問(wèn)題,我們就可以通過(guò)附加IIS進(jìn)程的方式對(duì)網(wǎng)站進(jìn)行調(diào)試。當(dāng)然調(diào)試的方式與之前不同了,此時(shí)就不是直接點(diǎn)擊Visual Studio中的調(diào)試按鈕或者F5進(jìn)行調(diào)試了。我們可以通過(guò)下面的方式進(jìn)入調(diào)試模式,選擇菜單欄上的調(diào)試,打開(kāi)子菜單選中附加到進(jìn)程,如下圖(當(dāng)然可以通過(guò)快捷鍵Ctrl+Alt+P直接調(diào)取出附加界面)
打開(kāi)后的附加界面如下圖,我們找到w3wp.exe進(jìn)程,然后點(diǎn)擊附加按鈕即可。
附加完成后,你就可在代碼中加入相應(yīng)的斷點(diǎn)調(diào)試了,在前臺(tái)瀏覽器中輸入test.com訪問(wèn)出現(xiàn)的錯(cuò)誤,你可在Visual Studio中找到對(duì)應(yīng)代碼段加入斷點(diǎn)。
通過(guò)上述步驟,即可很好的進(jìn)行網(wǎng)站的調(diào)試,IIS相應(yīng)的配置問(wèn)題也能及早發(fā)現(xiàn)。
IIS出問(wèn)題后的常見(jiàn)檢查步驟:
1. 檢查"Web服務(wù)擴(kuò)展"中, 是否開(kāi)啟了"ASP.NET v2.0.50727"的支持.
2. 打開(kāi)網(wǎng)站所在的文件夾(如: wwwroot), 在"屬性"--->"安全"中, 檢查有沒(méi)有Internet來(lái)賓帳戶, 如沒(méi)有請(qǐng)?zhí)砑? 并為其至少指定一個(gè)"只讀"權(quán)限.
3. 在IIS管理器重, 選中"默認(rèn)網(wǎng)站"后點(diǎn)擊"屬性", 在"主目錄"中, 查看有沒(méi)有選中"讀取"、"記錄訪問(wèn)"以及"索引資源".再"目錄安全"中, 點(diǎn)擊"授權(quán)及訪問(wèn)控制"下邊的"編輯"之后, 查看又沒(méi)有勾選"匿名訪問(wèn)"和"集成windows驗(yàn)證".
檢查"ISAPI篩選器"選項(xiàng)卡, 是否為空.
如果設(shè)置非index、default等名稱的頁(yè)面為主頁(yè), 請(qǐng)檢查是否在"文檔"選項(xiàng)卡的"啟用默認(rèn)內(nèi)容文檔"中添加你希望做首頁(yè)的文件名.
4. 檢查"默認(rèn)網(wǎng)站"下邊的應(yīng)用程序, 右鍵點(diǎn)擊你網(wǎng)站對(duì)應(yīng)的應(yīng)用程序, 選擇"屬性", 按上面3的要求檢查"目錄"、"目錄安全"和"文檔"三個(gè)選項(xiàng).
總結(jié)
以上就是這篇文章的全部?jī)?nèi)容了,希望本文的內(nèi)容對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,如果有疑問(wèn)大家可以留言交流,謝謝大家對(duì)腳本之家的支持。
- .Net Core3 用Windows 桌面應(yīng)用開(kāi)發(fā)Asp.Net Core網(wǎng)站
- 如何利用IIS調(diào)試ASP.NET網(wǎng)站程序詳解
- asp.net core下給網(wǎng)站做安全設(shè)置的方法詳解
- IIS部署asp.net mvc網(wǎng)站的方法
- ASP.NET Core 2.0 使用支付寶PC網(wǎng)站支付實(shí)現(xiàn)代碼
- CodeFirst從零開(kāi)始搭建Asp.Net Core2.0網(wǎng)站
- 詳解ASP.NET Core 網(wǎng)站在Docker中運(yùn)行
- ASP.NET網(wǎng)站第一次訪問(wèn)慢的解決方法
- 如何使用ASP.NET創(chuàng)建網(wǎng)站并設(shè)計(jì)web頁(yè)面
相關(guān)文章
使用正則Regex來(lái)移除網(wǎng)頁(yè)的EnableViewState實(shí)現(xiàn)思路及代碼
創(chuàng)建好網(wǎng)頁(yè)時(shí),什么都沒(méi)有寫(xiě),但運(yùn)行時(shí)會(huì)發(fā)現(xiàn)源程序(View Source),下面一段,此刻,也許你會(huì)想起,在網(wǎng)頁(yè)有一個(gè)屬性EnableViewState,在某些時(shí)候我們并不需要它,接下來(lái)將介紹如何移除它,感興趣的朋友可以了解下啊2013-01-01asp.net簡(jiǎn)單實(shí)現(xiàn)頁(yè)面換膚的方法
這篇文章主要介紹了asp.net簡(jiǎn)單實(shí)現(xiàn)頁(yè)面換膚的方法,可實(shí)現(xiàn)給頁(yè)面動(dòng)態(tài)添加樣式的功能,非常簡(jiǎn)單實(shí)用,需要的朋友可以參考下2015-12-12.Net中的Http請(qǐng)求調(diào)用詳解(Post與Get)
在我們服務(wù)端調(diào)用第三方接口時(shí),如:支付寶,微信支付,我們服務(wù)端需要模擬http請(qǐng)求,下面這篇文章主要給大家介紹了關(guān)于.Net中Http請(qǐng)求調(diào)用(Post與Get)的相關(guān)資料,需要的朋友可以參考下2022-09-09.NET?實(shí)現(xiàn)啟動(dòng)時(shí)重定向程序運(yùn)行路徑及?Windows?服務(wù)運(yùn)行模式部署的方法
這篇文章主要介紹了.NET?實(shí)現(xiàn)啟動(dòng)時(shí)重定向程序運(yùn)行路徑及?Windows?服務(wù)運(yùn)行模式部署,本文給大家介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下2022-09-09Asp.net中安全退出時(shí)清空Session或Cookie的實(shí)例代碼
網(wǎng)站中點(diǎn)擊退出,如果僅僅是重定向到登錄/出頁(yè)面,此時(shí)在瀏覽器地址欄中輸入登錄后的某個(gè)頁(yè)面地址如主頁(yè),你會(huì)發(fā)現(xiàn)不用登錄就能訪問(wèn),這種退出并不安全了,下面通過(guò)本文給大家介紹安全退出時(shí)清空Session或Cookie的實(shí)例代碼2016-11-11ASP.NET FileUpload 上傳圖片實(shí)例
Add a FileUpload control to the aspx page2009-09-09asp.net顯示圖片到指定的Image控件中 具體實(shí)現(xiàn)
這篇文章介紹了asp.net顯示圖片到指定的Image控件中 具體實(shí)現(xiàn),有需要的朋友可以參考一下2013-11-11