偵測出 ASP.NET 設定沒有套用到整合式 Managed 管線模式

公司是用 WindowsXP 所以是 IIS6,
而回到家是 Windows 7 也就是 IIS7
當執行了移轉的 Web.config 時,就會造成該問題



錯誤摘要

HTTP 錯誤 500.22 - Internal Server Error

偵測出 ASP.NET 設定沒有套用到整合式 Managed 管線模式。

詳細錯誤資訊
模組ConfigurationValidationModule
通知BeginRequest
處理常式PageHandlerFactory-Integrated-4.0
錯誤碼0x80070032
要求的 URLhttp://localhost:80/2013-06-28 oem_system/news1_1.aspx
實體路徑C:\inetpub\wwwroot\2013-06-28 oem_system\news1_1.aspx
登入方法尚未判定
登入使用者尚未判定
最有可能的原因:
  • 此應用程式可以在 system.web/httpModules 區段中定義設定。
解決方法:
  • 將設定移轉至 system.webServer/modules 區段。您可以手動進行移轉,或是從命令列使用 AppCmd 進行移轉,例如 %SystemRoot%\system32\inetsrv\appcmd migrate config "Default Web Site/"。使用 AppCmd 移轉應用程式可以讓應用程式在整合式模式中運作,而且繼續在傳統模式和舊版 IIS 中運作。
  • 如果您確定可以忽略此錯誤,則可以將 system.webServer/validation@validateIntegratedModeConfiguration 設為 false,藉此予以停用。
  • 另一個選擇是,將應用程式切換到傳統模式應用程式集區,例如 %SystemRoot%\system32\inetsrv\appcmd set app "Default Web Site/" /applicationPool:"Classic .NET AppPool"。請只有在您無法移轉應用程式時才這麼做。
(請將 "Default Web Site" 和 "Classic .NET AppPool" 設為您的應用程式路徑及應用程式集區名稱)
連結及其他資訊整合式模式是 IIS 7.0 或更新的版本上執行 ASP.NET 應用程式的慣用模式。

解決方法
1.在命令提示字元中輸入 cd %windir%\system32\inetsrv,然後按 ENTER。
2.輸入%SystemRoot%\system32\inetsrv\appcmd migrate config "網站名稱/"


然後也會有這種情形發生「在唯一金鑰屬性'name' 設為 '*_AppService.axd_*' 的情況下,無法新增類型 'add' 的重複集合項目」

我的解決方法是從 IIS 將原本的網站刪除,再重新 新增一個網站 即可




然後之後可能還會遇到

剖析器錯誤訊息: 無法辨認的屬性 'targetFramework'。請注意,屬性名稱必須區分大小寫。

原始程式錯誤: 

行 13:  <system.web>
行 14:         <customErrors mode="Off" />
行 15:   <compilation debug="true" targetFramework="4.0" />
行 16:   <pages>
行 17:    <!--加入資料庫相關namespace命名空間-->

解決方法是 進入IIS > 選擇該網站 > 進階設定 > 應用程式集區 > ASP.NET v4.0

沒有留言:

張貼留言