HttpHandler不使用不同的端口在站点上工作

时间:2009-08-25 03:41:20

标签: asp.net httphandler

我写了一个很小的HttpHandler,它可以很好地在我的机器上运行。但是,一旦它被部署到我们的登台服务器,请求它给了404.我通常更喜欢在web.config中配置HttpHandlers,但这显然在服务器上不起作用:我通过创建一个仅包含的.ashx文件来修复它引用我的HttpHandler。

.ashx文件:

<% @ WebHandler class="MyNamespace.MyProject.MyHttpHandler" %>

web.config设置:

<httpHandlers>
  <add verb="GET" path="myhandler.ashx" type="MyNamespace.MyProject.MyHttpHandler"/>
</httpHandlers>

我认为问题是由服务器使用“特殊”端口(888,不要问为什么)引起的。它可能是别的东西,我可以缺少什么?

为什么我在服务器上看到此行为? HttpHandler在我的本地机器上运行正常,配置只在web.config中,在这里它也是从“随机”端口提供的,即http://localhost:61229/myhandler.ashx

2 个答案:

答案 0 :(得分:3)

听起来好像没有找到web.config设置。

这是IIS 7吗?在这种情况下,请确保将处理程序放在&lt; system.webServer&gt;中。及其&lt;处理程序&gt;部分。

答案 1 :(得分:0)

如果您使用的是IIS7,但仍希望保留旧的IIS 6配置文件。 通过将应用程序池设置为以“经典”模式运行,处理程序将再次运行。

不推荐,但有时这是一个快速且足够好的解决方案。