2011-04-12 58 views
2

我一臺服務器上移動從IIS6一個網站IIS7.5上的另一個。 這個網站並沒有寫給我,我從中可以看出,他們使用自定義處理程序來解決當天的AJAX限制。 我將舊服務器的代碼複製到新的(預先編譯的),除了「AJAX」之外的所有東西都可以工作。代碼中有幾個調用ashx文件。這些調用返回.js文件。在舊的服務器上這很好。在新服務器上不起作用。 在web.config文件中,我發現下面幾行:從IIS6遷移到IIS7.5 - 自定義處理程序

<httpHandlers> 
<add verb="*" path="*.ashx" type="AjaxPro.AjaxHandlerFactory,AjaxPro.2"/> 
</httpHandlers> 

出於某種原因,這不是在IIS7.5 工作的任何建議都歡迎。

謝謝!

回答

3

我懷疑這可能是因爲現代的應用程序池管理的管道模式的配置。您可以通過將網站運行的應用程序池的管理管道模式更改爲Classic來輕鬆確認。如果這樣做,你想繼續在集成模式下運行,那麼你需要在web.config中添加一個處理程序部分。這與上面提到的httpHandlers信息不同。

新處理器的部分應該在system.webServer部分。對不起,我不知道你注意的項目的確切設置,但是如果你希望以集成模式運行,你需要包含preCondition =「integratedMode」。

+0

謝謝!你釘了它:)因爲這是一個單獨的網站內的應用程序,我可以分配它自己的應用程序池。任何缺乏經典模式的游泳池? – 2011-04-12 11:14:17

+1

據我瞭解,我認爲在集成模式下運行允許使用以前需要使用ISAPI擴展來集成它們的一些額外模塊。你可以得到更多關於這個[這裏]的信息(http://learn.iis.net/page.aspx/244/how-to-take-advantage-of-the-iis7-integrated-pipeline/) – 2011-04-12 11:25:55

+0

I'我會做一些運行經典模式的測試,如果什麼都沒有出現,我就使用它。謝謝! – 2011-04-12 11:29:48