Ashx处理程序的processrequest函数不称为

时间:2017-01-23 00:06:27

标签: c# asp.net .net httphandler

我正在编写处理资源的处理程序,当实现的IHttpHandler类在命名空间下编写时,我遇到了一个问题。

请找到代码

不工作情况

Web.config:

<add name="ResourceHandler" type="PublicSite.Classes.Handlers.ResourceEndpoint, PublicSite" path="Resource.ashx" verb="*" />

财产:PublicSite.Classes.Handlers.ResourceEndpoint.IsReusable=False

问题:命中构造函数并且未调用ProcessRequest。构造类的对象,即。,构造函数被命中,但在调用processrequest之前失败了404。

工作情景

Web.config:

<add name="ResourceHandler" type="ResourceEndpoint,PublicSite" path="Resource.ashx" verb="*" />

课程:PublicSite.Classes.Handlers.ResourceEndpoint.IsReusable=True

在调用processrequest之前,构造函数被404命中并失败。

第二次当我们请求处理程序时,它立即使用构造的对象,因此不会调用construcotr并直接调用ProcessRequest。顺便说一句,在第二次调用中,处理程序正在运行。

我不需要可重复使用的属性。 有人可以帮我找到问题。感谢。

1 个答案:

答案 0 :(得分:1)

您能否向我确认您的web.config和处理程序本身如下所示? (这是来自IIS 7.5下托管的项目)

web.config: -

google.maps.event.addListener(map, 'click', function(event) {
placeMarker(event.latLng);
});

function placeMarker(location) {
var marker = new google.maps.Marker({
    position: location,
    map: map
});
}

HttpHandler: -

  <system.webServer>
    <handlers>
      <add name="customerHandler" 
           preCondition="integratedMode" 
           verb="*" 
           path="customerHandler.ashx"
           type="GlassCMS.HttpHandlers.CustomerHandler, GlassCMS"/>
.
.
.
    </handlers>
  </system.webServer>

如果您愿意,我也可以包含JavaScript(或者您可以在此处发布)。上面的例子来自工作代码。