利用IIS調(diào)試ASP.NET網(wǎng)站程序的完整步驟
前言
在實際的開發(fā)當(dāng)中,相信很多的開發(fā)者在開發(fā)調(diào)試ASP.NET網(wǎng)站時候都是直接通過Visual Studio工具的編譯運行來調(diào)試的。
一般情況下,這種調(diào)試方式也不會有多少問題,但有時候我們會發(fā)現(xiàn)這樣的一個情況,就是明明在本地調(diào)試運行都沒有問題的網(wǎng)站,部署到服務(wù)器IIS上,就出現(xiàn)無法描述的線上問題。這時候,就要排除服務(wù)器環(huán)境是否跟本地環(huán)境一樣,其中一點還要涉及到IIS的配置的排除。
那問題來了,我們能不能在開發(fā)的時候,就部署在IIS上調(diào)試,而不是直接使用Visual Studio的運行調(diào)試,這樣涉及到IIS配置的相關(guān)問題就能及早的暴露出來,比如IIS用戶的權(quán)限調(diào)用等。舉個很典型的例子,如我們調(diào)用微軟的Office Excel組件導(dǎo)出Excel的時候,就需要設(shè)置IIS用戶組對Com組件的調(diào)用權(quán)限。
在開發(fā)階段就通過IIS對網(wǎng)站進(jìn)行調(diào)試,可以避開很多因為IIS設(shè)置問題而導(dǎo)致的問題。
下面來說下配置IIS調(diào)試的步驟。
第一步 打開你的IIS管理器,沒有安裝IIS服務(wù)器的請上網(wǎng)百度如何安裝,此處不再闡述。在IIS中新建一個網(wǎng)站,給定一個主機(jī)域名為test.com,并將網(wǎng)站目錄指向你web項目的根目錄,如下圖。

第二步 網(wǎng)站配置的應(yīng)用程序池很關(guān)鍵,上圖中的應(yīng)用程序池的名字叫testWeb,那這個應(yīng)用程序池的.NetFrameWork的版本號應(yīng)該跟你項目中使用的版本一致。我們點擊上圖左側(cè)的菜單【應(yīng)用程序池】,打開應(yīng)用程序池列表,選中testWeb名稱的應(yīng)用程序池,確認(rèn)編輯好該程序池的版本號。如下圖

第三步 確保你的IIS的狀態(tài)為正在運行而非停止的狀態(tài),并且確認(rèn)你網(wǎng)站的狀態(tài)以及網(wǎng)站對應(yīng)應(yīng)用程序池的狀態(tài)為正在運行。
第四步 設(shè)置本地電腦的Host文件,配置本地域名test.com。讓瀏覽器識別test.com域名的指向是本地計算機(jī)。(此步驟非常關(guān)鍵,不然你在瀏覽器中輸入test.com會告知你無法解析)
我們在電腦的C盤中查找系統(tǒng)的Host文件,Host文件一般在以下路徑中:C:\Windows\System32\drivers\etc。
找到Host文件后,用文本編輯器打開host文件,推薦使用notepad++文本編輯器。打開后,我們在最后一行加入127.0.0.1 test.com即可,配置完成后保存(Win10系統(tǒng)可能無法編輯保存,我們一般采取復(fù)制文件出來,編輯完成后覆蓋回原文件),在瀏覽器中輸入test.com即可指向本地IIS中的網(wǎng)站,即你剛才配置的網(wǎng)站。

第五步 此時配置完畢后,我們在自己本地電腦的瀏覽器中輸入test.com的時候,就會指向你本地IIS配置的test.com網(wǎng)站中,即你當(dāng)前開發(fā)的網(wǎng)站。
第六步 如果test.com網(wǎng)站測試中發(fā)現(xiàn)相應(yīng)的問題,我們就可以通過附加IIS進(jìn)程的方式對網(wǎng)站進(jìn)行調(diào)試。當(dāng)然調(diào)試的方式與之前不同了,此時就不是直接點擊Visual Studio中的調(diào)試按鈕或者F5進(jìn)行調(diào)試了。我們可以通過下面的方式進(jìn)入調(diào)試模式,選擇菜單欄上的調(diào)試,打開子菜單選中附加到進(jìn)程,如下圖(當(dāng)然可以通過快捷鍵Ctrl+Alt+P直接調(diào)取出附加界面)

打開后的附加界面如下圖,我們找到w3wp.exe進(jìn)程,然后點擊附加按鈕即可。

附加完成后,你就可在代碼中加入相應(yīng)的斷點調(diào)試了,在前臺瀏覽器中輸入test.com訪問出現(xiàn)的錯誤,你可在Visual Studio中找到對應(yīng)代碼段加入斷點。
通過上述步驟,即可很好的進(jìn)行網(wǎng)站的調(diào)試,IIS相應(yīng)的配置問題也能及早發(fā)現(xiàn)。
IIS出問題后的常見檢查步驟:
1. 檢查"Web服務(wù)擴(kuò)展"中, 是否開啟了"ASP.NET v2.0.50727"的支持.
2. 打開網(wǎng)站所在的文件夾(如: wwwroot), 在"屬性"--->"安全"中, 檢查有沒有Internet來賓帳戶, 如沒有請?zhí)砑? 并為其至少指定一個"只讀"權(quán)限.
3. 在IIS管理器重, 選中"默認(rèn)網(wǎng)站"后點擊"屬性", 在"主目錄"中, 查看有沒有選中"讀取"、"記錄訪問"以及"索引資源".再"目錄安全"中, 點擊"授權(quán)及訪問控制"下邊的"編輯"之后, 查看又沒有勾選"匿名訪問"和"集成windows驗證".
檢查"ISAPI篩選器"選項卡, 是否為空.
如果設(shè)置非index、default等名稱的頁面為主頁, 請檢查是否在"文檔"選項卡的"啟用默認(rèn)內(nèi)容文檔"中添加你希望做首頁的文件名.
4. 檢查"默認(rèn)網(wǎng)站"下邊的應(yīng)用程序, 右鍵點擊你網(wǎng)站對應(yīng)的應(yīng)用程序, 選擇"屬性", 按上面3的要求檢查"目錄"、"目錄安全"和"文檔"三個選項.
總結(jié)
以上就是這篇文章的全部內(nèi)容了,希望本文的內(nèi)容對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,如果有疑問大家可以留言交流,謝謝大家對腳本之家的支持。
- .Net Core3 用Windows 桌面應(yīng)用開發(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)站支付實現(xiàn)代碼
- CodeFirst從零開始搭建Asp.Net Core2.0網(wǎng)站
- 詳解ASP.NET Core 網(wǎng)站在Docker中運行
- ASP.NET網(wǎng)站第一次訪問慢的解決方法
- 如何使用ASP.NET創(chuàng)建網(wǎng)站并設(shè)計web頁面
相關(guān)文章
HttpWebRequest的常見錯誤使用TcpClient可避免
有時使用HttpWebRequest對象會出現(xiàn)錯誤有三種服務(wù)器提交了協(xié)議沖突/基礎(chǔ)連接已經(jīng)關(guān)閉:連接被意外關(guān)閉/無法發(fā)送具有此謂詞類型的內(nèi)容正文,感興趣的朋友可以參考下本文2013-02-02
asp.net 實現(xiàn)動態(tài)顯示當(dāng)前時間(不用javascript不考慮開銷)
asp.net實現(xiàn)動態(tài)顯示時間,無需用到j(luò)avascrip,而是用了AJAX。2009-11-11
.NET?Core分布式鏈路追蹤框架的基本實現(xiàn)原理
這篇文章介紹了.NET?Core分布式鏈路追蹤框架的基本實現(xiàn)原理,對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧2022-03-03
Visual Studio 2017正式版發(fā)布 Mac版新功能特性有哪些
Visual Studio 2017正式版推出時間什么時候?Mac版新功能特性又有哪些?這篇文章就為大家詳細(xì)介紹Visual Studio 2017正式版的最新消息,具有一定的參考價值,感興趣的小伙伴們可以參考一下2017-03-03
.NET?Core部署為Windows服務(wù)的詳細(xì)步驟
這篇文章主要介紹了.NET?Core部署為Windows服務(wù),想要將.NET?Core部署為window服務(wù),項目中需要進(jìn)行以下配置:項目中引入Microsoft.Extensions.Hosting.WindowsServices包,本文給大家詳細(xì)講解,需要的朋友可以參考下2022-10-10
淺談ASP.NET常用數(shù)據(jù)綁定控件優(yōu)劣總結(jié)
這篇文章主要介紹了淺談ASP.NET常用數(shù)據(jù)綁定控件優(yōu)劣總結(jié),以便在實際的開發(fā)中選用合適的控件進(jìn)行數(shù)據(jù)綁定,以提高開發(fā)效率。2016-12-12

