以前一直和IIS5打交道,后來系統(tǒng)升級到WIN7,自然的就用上了IIS7了,不過因為對IIS7服務(wù)器沒有系統(tǒng)的了解,所以在自己機子上測試發(fā)布網(wǎng)站時,總是遇到各種各樣的問題,當時就放棄了,準備有時間再研究的,正好這兩天有朋友問我發(fā)布的問題,也遇到幾個問題,就順便把這幾個問題寫下來,省的以后每次都麻煩,如果和我一樣對IIS7不熟悉的朋友,希望我在這篇文章中遇到的問題能給你一些小小的幫助。 這里主要是將Web網(wǎng)站發(fā)布到本機的IIS上,這里以VS08建立的3.5下的網(wǎng)站為例,首先需要在程序中安裝好IIS 在發(fā)布對話框中選擇LocalIIS后,對話框里提示出現(xiàn)的2個問題 第一個問題是很簡單,因為在Win7系統(tǒng)下發(fā)布到本機IIS需要管理員權(quán)限,右鍵選擇“以管理員身份運行”軟件即可 第二個問題我們暫且不解決,看看會帶來什么狀況,我們現(xiàn)在先將其發(fā)布到文件系統(tǒng)中,然后在IIS中新建網(wǎng)站 這步完成以后,我們?yōu)g覽網(wǎng)站會出現(xiàn)HTTP 錯誤404.17-Not Found 這就是我們前面第二個問題引起的,提示沒有IIS缺少Asp.net組件,出現(xiàn)這種情況的原因是因為機子先裝的VS,然后裝的IIS,雖然它不會影響編譯等行為,但是會影響發(fā)布,解決方法是在找到C:\Windows\Microsoft.NET\Framework\v2.0.50727目錄下的aspnet_regiis文件,運行該文件 出現(xiàn)上面錯誤的原因也是因為權(quán)限不夠,用管理員權(quán)限運行命令行 安裝成功后,重啟一下網(wǎng)站再進行瀏覽,這里有個應(yīng)用程序池的概念,在我們新建網(wǎng)站時都會創(chuàng)建一個同名的應(yīng)用池,這里我們需要注意的是如果我們出現(xiàn)500.19的錯誤,那么你最好是對網(wǎng)站的應(yīng)用程序池進行檢查。 出現(xiàn)上面情況時的程序池信息 因為我現(xiàn)在的網(wǎng)站使用的.NET Framework3.5版本編譯的程序集,所以我的程序池的.NET Framework版本要設(shè)為v2.0 現(xiàn)在我們已經(jīng)解決了開始的兩個問題,此時瀏覽網(wǎng)站就可以正??吹絻?nèi)容了。 現(xiàn)在我用VS2010發(fā)布一個4.0的程序到剛才的網(wǎng)站上,又碰到了點情況: 這個原因很簡單,因為我們發(fā)布到剛才的網(wǎng)站時,應(yīng)用程序池還是使用的2.0的.NET Framework,所以我們將其改為v4.0 這時再瀏覽網(wǎng)站,出現(xiàn)了這個錯誤: 這個原因是什么呢?在IIS7中的程序池包含了2種管道模式,出現(xiàn)上面情況的原因就是我們使用了經(jīng)典模式 將其改為集成模式后,網(wǎng)站就可以正常瀏覽了。 以上是我個人在發(fā)布時碰到過的幾個問題,因為對IIS7一些基本的東西不了解才會出現(xiàn)這么多問題,希望對你能有一點點幫助。
|