我正在努力AspNetComet.zip在 IIS7 上工作(一个简单的彗星聊天实现)这是我的 web.config 的一部分。
<system.web>
<httpHandlers>
<add verb="POST" path="DefaultChannel.ashx" type="Server.Channels.DefaultChannelHandler, Server"/>
</httpHandlers>
</system.web>
<system.webServer>
<handlers>
<add name="DefaultChannelHandler" verb="POST" path="DefaultChannel.ashx" type="Server.Channels.DefaultChannelHandler, Server"/>
</handlers>
</system.webServer>
当我在本地主机 IIS7 上发布网站时收到错误:
POST http://localhost/DefaultChannel.ashx 500 Internal Server Error
Could not load type 'Server.Channels.DefaultChannelHandler
该项目的目标框架是 .Net 2.0。我尝试了 .Net 2.0 的经典和集成模式应用程序池,但没有成功。我还尝试将项目转换为 4.0,并尝试了 .Net 4.0 的经典和集成模式应用程序池,但没有成功。我还尝试通过 IIS 管理器的处理程序映射添加托管处理程序。
如果你有时间请下载源代码(184kb)在您自己的机器上重现该问题。该 zip 包含一个 VS2010 解决方案(.Net 2.0)。您也可以尝试将其转换为 .Net 4.0
不管怎样,我使用的是 Windows 7。如果您需要更多详细信息,请在下面发表评论。顺便说一下,这在我的 webdev 服务器上运行良好。
答案1
听起来您的应用程序无法使用 AspNetComet DLL。请确保已将它们上传到 /bin 文件夹,如果它不是站点的根目录,请确保托管 web.config 的文件夹已标记为应用程序。