[點(diǎn)晴IM即時(shí)通訊系統(tǒng)]Windows Server2008安裝.NET Framework4.0框架后在IIS中找不到的解決方法
當(dāng)前位置:點(diǎn)晴教程→點(diǎn)晴MIS信息通
→『 經(jīng)驗(yàn)分享&問題答疑 』
昨天將一個(gè) ASP.NET 4.0 的網(wǎng)站安裝到客戶的 IIS6 主機(jī)上 (測(cè)試環(huán)境),結(jié)果過程非常不順利,曾經(jīng)一度覺得客戶的主機(jī)不知道經(jīng)過幾只手蹂躪過了(因?yàn)橛泻枚嗳嗽诠蚕?Administrator 賬號(hào))進(jìn)而產(chǎn)生排斥安裝在客戶主機(jī)以及 “為什么我們要用 ASP.NET 4” 的感覺,不過在一群人的努力之下最后還是克服了困難,特別因此寫下筆記,相信這些問題有其他人也可能會(huì)遇到。 要執(zhí)行 ASP.NET 4.0 網(wǎng)站必須先安裝 Microsoft .NET Framework 4獨(dú)立安裝包 安裝前必須先確定你的操作系統(tǒng)版本是在支持的范圍內(nèi):
常見問題1:設(shè)定網(wǎng)站站臺(tái)的 ASP.NET 頁面時(shí)找不到 ASP.NET 4.0 的選項(xiàng) 注意:如果你只有安裝 .NET Framework Client Profile 是不支持 ASP.NET 的,必須下載 Microsoft .NET Framework 4 (獨(dú)立安裝程序) 來安裝才會(huì)完整。 正常來說,只要 Windows Server 2003 已經(jīng)先安裝好 IIS 再安裝 Microsoft .NET Framework 4,就可以在 IIS 6.0 網(wǎng)站站臺(tái)的 ASP.NET 頁簽找到 ASP.NET 4.0 的選項(xiàng): 常見問題2:安裝好 .NET 4 后還是找不到設(shè)定網(wǎng)站站臺(tái)的 ASP.NET 頁簽的 ASP.NET 4.0 的選項(xiàng) 這問題通常出在先安裝 Microsoft .NET Framework 4 才安裝 IIS6,這時(shí)必須在“開始-》運(yùn)行”中輸入以下指令,將 ASP.NET 4.0 注冊(cè)進(jìn) IIS6 即可: C:\WINDOWS\Microsoft.NET\Framework\v4.0.30319\aspnet_regiis.exe -ir -enable 常見問題3:安裝好 .NET 4 也設(shè)定好網(wǎng)站站臺(tái)的 ASP.NET 4.0 的選項(xiàng)依然無法執(zhí)行網(wǎng)站 這里的「無法執(zhí)行網(wǎng)站」其實(shí)所有執(zhí)行的頁面都會(huì)出現(xiàn) 找不到這個(gè)頁面 (HTTP 錯(cuò)誤 404 - 找不到檔案或目錄) 的響應(yīng),不管你怎么設(shè)定目錄安全性或任何執(zhí)行權(quán)限都無法執(zhí)行任何 ASP.NET 程序,而且可能只有靜態(tài)頁面可以讀取而已,像是如下圖示這么一般性的錯(cuò)誤訊息真的很容易讓 IT人員不知如何是好: 如果你因?yàn)榘惭b ASP.NET MVC 而有設(shè)定「通配符應(yīng)用程序?qū)?yīng)」的話,則會(huì)發(fā)現(xiàn)網(wǎng)站所有頁面包括靜態(tài)檔案讀去都會(huì)響應(yīng) 找不到這個(gè)頁面 的錯(cuò)誤! 此問題發(fā)生的原因是 IIS6 阻擋了 c:\windows\microsoft.net\framework\v4.0.30319\aspnet_isapi.dll 程序的執(zhí)行,由于所有會(huì)被導(dǎo)向到此 ISAPI Handler 的要求全部都會(huì)失敗,所以才會(huì)導(dǎo)致你所有 HTTP 要求都會(huì)得到 HTTP 404 Not Found 的結(jié)果。 解決方式很簡(jiǎn)單,只要到 [網(wǎng)頁服務(wù)延伸] 的地方將 ASP.NET v4.0.30319 設(shè)定 [允許]即可,如下圖示: 常見問題4:ASP.NET 4.0 的網(wǎng)站站臺(tái)已經(jīng)設(shè)定好也可以正常執(zhí)行了,但執(zhí)行一段時(shí)間會(huì)自己掛掉! 如果你在同一個(gè)應(yīng)用程序集區(qū)設(shè)定了兩個(gè)不同版本的 ASP.NET 就會(huì)造成這個(gè)問題,例如你原本有個(gè) ASP.NET 2.0 的站臺(tái),并且設(shè)定的應(yīng)用程序集區(qū)為 DefaultAppPool,然而你之后又新增了一個(gè) ASP.NET 4.0 的站臺(tái),而默認(rèn)的應(yīng)用程序集區(qū)也是在 DefaultAppPool 的話就會(huì)發(fā)生沖突了,這時(shí)就會(huì)看是哪個(gè)站臺(tái)先被執(zhí)行起來,先跑起來的那個(gè)站臺(tái)才會(huì)搶到所有權(quán),后面執(zhí)行的那個(gè)就會(huì)發(fā)生 Server Application Unavailable 或 服務(wù)器應(yīng)用程序無法使用 的錯(cuò)誤: 解決的方法有二:
該文章在 2016/1/26 16:56:53 編輯過 |
關(guān)鍵字查詢
相關(guān)文章
正在查詢... |