Windows-Server-2008-R2
“PageHandlerFactory-Integrated”有一個壞模組“ManagedPipelineHandler”
今天遷移伺服器後,一個站點不斷收到上述錯誤。在 Google 上快速搜尋表明這是一個相當普遍的問題,並且有很多修復,到目前為止,我嘗試了以下方法:
1. %windir%\Microsoft.NET\Framework64\v4.0.30319\aspnet_regiis.exe –i
這似乎是最常見的解決方案,但它對我不起作用。我嘗試從 v2.0.50727 執行相同的程序,以防萬一,並從 Framework 文件夾執行,即使這是 64 位版本的 Windows。沒用。
2. %windir%\Microsoft.NET\Framework64\v4.0.30319\SetupCache\Client\setup.exe /repair /x86 /x64 /ia64 /parameterfolder Client /norestart
我修復了框架但沒有結果,我仍然得到同樣的錯誤。
3. Adding <add name="ManagedEngine64" image="%windir%\Microsoft.NET\Framework64\v2.0.50727\webengine.dll" preCondition="integratedMode,runtimeVersionv2.0,bitness64" /> to applicationHost.config, mine was actually completely empty - but that didn't help either.
奇怪的是,我們有許多站點在執行,所有站點都是 .NET4 並且都正常執行 - 這是唯一一個在 v2 上執行的站點,在我看來這是問題的根源。
沒有重新安裝 IIS,你能想到更好的選擇嗎?我寧願不要對其他站點的服務造成乾擾。
原來問題是從 32 位環境遷移到 64 位環境。執行網站的應用程序池
Enable 32-bit applications
設置為false
,所以我猜它認為 32 位處理程序已損壞。另外,web.config 的一大塊失去了,這導致應用程序池修復後出現問題,但也更容易定位。