前言
在實(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用戶(hù)的權(quán)限調(diào)用等。舉個(gè)很典型的例子,如我們調(diào)用微軟的Office Excel組件導(dǎo)出Excel的時(shí)候,就需要設(shè)置IIS用戶(hù)組對(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名稱(chēng)的應(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)賓帳戶(hù), 如沒(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等名稱(chēng)的頁(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é)
聲明:本網(wǎng)頁(yè)內(nèi)容旨在傳播知識(shí),若有侵權(quán)等問(wèn)題請(qǐng)及時(shí)與本網(wǎng)聯(lián)系,我們將在第一時(shí)間刪除處理。TEL:177 7030 7066 E-MAIL:11247931@qq.com