Iis-7

.ashx 在 IIS7 上找不到類型錯誤,在 webdev 伺服器上沒有問題

  • March 11, 2011

我正在嘗試使AspNetComet.zip在 IIS7 上工作(一個簡單的彗星聊天實現)這是我的 web.config 的一部分。

<system.web>
   <httpHandlers>
       &lt;add verb="POST" path="DefaultChannel.ashx" type="Server.Channels.DefaultChannelHandler, Server"/&gt;
   &lt;/httpHandlers&gt;
&lt;/system.web&gt;

&lt;system.webServer&gt;
   &lt;handlers&gt;
      &lt;add name="DefaultChannelHandler" verb="POST" path="DefaultChannel.ashx" type="Server.Channels.DefaultChannelHandler, Server"/&gt;
   &lt;/handlers&gt;
&lt;/system.webServer&gt;

當我在我的本地主機 IIS7 上發佈網站時,我收到一個錯誤:

POST http://localhost/DefaultChannel.ashx 500 Internal Server Error

Could not load type 'Server.Channels.DefaultChannelHandler

該項目的目標框架是 .Net 2.0 我嘗試了 .Net 2.0 的 Classic and Integrated Mode 應用程序池,但沒有成功。我還嘗試將項目轉換為 4.0,並嘗試了適用於 .Net 4.0 的經典和集成模式應用程序池,但沒有成功。我還嘗試通過 IIS 管理器的處理程序映射添加託管處理程序。

如果您有時間,請下載原始碼(184kb) 在您自己的機器上重現該問題。zip 包含一個 VS2010 解決方案 (.Net 2.0)。您也可以嘗試將其轉換為 .Net 4.0

無論如何,如果這很重要,我正在使用 Windows 7。如果您需要更多詳細資訊,請在下方留言。順便說一句,這在我的 webdev 伺服器上執行良好。

聽起來 AspNetComet DLL 對您的應用程序不可用。確保它們已上傳到 /bin 文件夾,如果它不是站點的根目錄,請確保託管 web.config 的文件夾被標記為應用程序。

引用自:https://serverfault.com/questions/245241