小一年沒(méi)寫(xiě) ASP.NET MVC 的應(yīng)用程序了.
今天寫(xiě)了個(gè)DEMO,發(fā)布到IIS居然訪問(wèn)不到動(dòng)態(tài)的controller.
1. 基本操作流程回顧.
- 使用 asp.net mvc 框架創(chuàng)建了一個(gè)網(wǎng)站項(xiàng)目.
- 寫(xiě)入了一些和基本的邏輯.
- 本地在
控制面板
里找到程序和功能
打開(kāi)并安裝iis相關(guān)服務(wù).
- 以文件系統(tǒng)的方式發(fā)布第一步創(chuàng)建的web網(wǎng)頁(yè).
- 在
iis
指定發(fā)布完成的web網(wǎng)頁(yè)文件夾路徑. - 在 web 文件夾里創(chuàng)建了一個(gè) index.html 頁(yè)面.
- 在瀏覽器里訪問(wèn)這個(gè)網(wǎng)站,index.html 頁(yè)面正常顯示.
- 在瀏覽器里訪問(wèn) home/index 這個(gè)控制器(動(dòng)態(tài)頁(yè)面),發(fā)現(xiàn)出現(xiàn)了 404 的錯(cuò)誤!
2. 錯(cuò)誤確定--->動(dòng)態(tài)頁(yè)面 home/index 無(wú)法訪問(wèn).
現(xiàn)在問(wèn)題已經(jīng)確定,那就是動(dòng)態(tài)的控制器無(wú)法訪問(wèn).
說(shuō)白點(diǎn)就是接口無(wú)法訪問(wèn).比如 HomeController 下面的 getJson 接口無(wú)法訪問(wèn).
解決方法.
查看 isapi 中間件是否在iis里注冊(cè)
- 打開(kāi)iis服務(wù)器.選擇第一個(gè)節(jié)點(diǎn).在右側(cè)菜單里選中
ISAPI 篩選器
5EBE0B4B-1390-4a32-9233-4170A37FFFCD.png
-
進(jìn)入到 isapi 控制面板,查看 v4.0 Framework 的兩個(gè) api 是否注冊(cè)進(jìn)入到了 iis
80D129A9-9620-4816-8B31-7038230B9CC7.png 進(jìn)入到本地的存放這上圖中兩個(gè) API 的路徑中.
C:\Windows\Microsoft.NET\Framework64
F117BB50-F24E-4c62-BF60-BBF1A02F05BB.png
- 在上述目錄中,打開(kāi)CMD界面,輸入 aspnet_regiis -i 等待安裝完成.
26D16B38-B4EE-43c7-A10D-895194E02A4E111.png
- 回到iis 的 isapi 篩選選項(xiàng)卡的界面,就可以看到紅色方框中的兩個(gè) v4.x 的 isapi 程序已經(jīng)成功注冊(cè)到了 iis 中.
80D129A9-9620-4816-8B31-7038230B9CC7.png
- 網(wǎng)站重新啟動(dòng),確保正確的設(shè)置了默認(rèn)文檔首頁(yè)(home/index). 然后在進(jìn)入瀏覽器測(cè)試,一般情況下,問(wèn)題就可以得以解決.