1. 程式人生 > >在應用程式級別之外使用註冊為 allowDefinition='MachineToApplication' 的節是錯誤的。如果在 IIS 中沒有將虛擬目錄配置為應用程式,則可能導致此錯誤。

在應用程式級別之外使用註冊為 allowDefinition='MachineToApplication' 的節是錯誤的。如果在 IIS 中沒有將虛擬目錄配置為應用程式,則可能導致此錯誤。

最近在IIS伺服器部署站點時遇到了這樣的一個問題。

由於每次有新的網站之後,都要新建一個站點為其分配新的埠,這樣感覺挺不合理的,網站越來越多到最後都不記得哪個網站是哪個埠,所以我就想著能不能把所有網站專案統一放在一個資料夾下,這樣就只有一個埠,訪問網站時只需加上相關網站目錄就可以,於是就遇到這樣一個問題,一個asp.net專案訪問報錯。

網上找了找發現了幾種解決方式:

1、刪除web.config中的<authentication mode="Windows" />節點(ps:我開啟web.config檔案發現我的不是<authentication mode="Windows" />,而是<authentication mode="None" />。結論可想而知,這種方式我失敗了)。

2、在IIS將該目錄做成應用程式,步驟如下。

選中專案目錄右擊->轉換為應用程式->點選確定->轉換完成

這種方式確實可以解決,大家可以試試。

3、若IIS中沒有應用程式名,先建立,若還不行把C:\WINDOWS\Microsoft.NET\Framework\v2.0.50727\CONFIG\machine.config中的所有allowDefinition="MachineToApplication"改為allowDefinition="Everywhere"