首页 新闻 会员 周边

IHttpAsyncHandler的问题

0
悬赏园豆:100 [已解决问题] 解决于 2013-05-17 17:05

在web.config中已经配置好映射的类了,为什么我调试他不走IhttpAsyncHandler继承类的BeginProcessRequest方法呢,试半天了,求解啊

龙卷风摧毁停车场!的主页 龙卷风摧毁停车场! | 菜鸟二级 | 园豆:210
提问于:2013-05-17 14:05
< >
分享
最佳答案
0

没有 忽略指定路由吧

下面以后缀为.asmx举例:

在web.config

<httpHandlers>
      <add verb="*" path="*.asmx" type="处理这些请求的类"/>

</httpHandlers>

在RegisterRoutes方法里

routes.IgnoreRoute("{resource}.asmx/{*pathInfo}");

收获园豆:100
Jet.Xu | 菜鸟二级 |园豆:359 | 2013-05-17 16:52

问题已解决。万分感谢

龙卷风摧毁停车场! | 园豆:210 (菜鸟二级) | 2013-05-17 17:04

我在新建的测试项目上面调试成功了,可在正式项目上面还是不行,有没有别的原因导致这种情况的?? 已经设置忽略指定路由了

龙卷风摧毁停车场! | 园豆:210 (菜鸟二级) | 2013-05-20 16:19

@咦?: 正式项目是什么环境?

Jet.Xu | 园豆:359 (菜鸟二级) | 2013-05-20 16:27

@Jet.Xu: 和测试环境一样 .net 4.5

龙卷风摧毁停车场! | 园豆:210 (菜鸟二级) | 2013-05-20 16:37

@咦?: mvc3

龙卷风摧毁停车场! | 园豆:210 (菜鸟二级) | 2013-05-20 16:38

@咦?: 你看下这个

http://www.cnblogs.com/cnblogsfans/archive/2009/09/25/1574129.html

如果你是发布在IIS7下 如果没有 “配置处理程序映射” 处理路由会造成访问不到

Jet.Xu | 园豆:359 (菜鸟二级) | 2013-05-20 16:42

@Jet.Xu: 我上我的web.config截图您看一下

龙卷风摧毁停车场! | 园豆:210 (菜鸟二级) | 2013-05-20 17:09

@咦?: 

system.web下

 <httpHandlers>
      <add verb="*" path="asyncRequest.asyn" type="logisticsClient.commonClass.myHttpAsyncHandler"/>
    </httpHandlers>

system.webServer下
    <handlers>
      <add name="asyncRequest" verb="*" path="asyncRequest.asyn" type="logisticsClient.commonClass.myHttpAsyncHandler"/>
      <remove name="ExtensionlessUrlHandler-ISAPI-4.0_32bit" />
      <remove name="ExtensionlessUrlHandler-ISAPI-4.0_64bit" />
      <remove name="ExtensionlessUrlHandler-Integrated-4.0" />
      <add name="ExtensionlessUrlHandler-ISAPI-4.0_32bit" path="*." verb="GET,HEAD,POST,DEBUG,PUT,DELETE,PATCH,OPTIONS" modules="IsapiModule" scriptProcessor="%windir%\Microsoft.NET\Framework\v4.0.30319\aspnet_isapi.dll" preCondition="classicMode,runtimeVersionv4.0,bitness32" responseBufferLimit="0" />
      <add name="ExtensionlessUrlHandler-ISAPI-4.0_64bit" path="*." verb="GET,HEAD,POST,DEBUG,PUT,DELETE,PATCH,OPTIONS" modules="IsapiModule" scriptProcessor="%windir%\Microsoft.NET\Framework64\v4.0.30319\aspnet_isapi.dll" preCondition="classicMode,runtimeVersionv4.0,bitness64" responseBufferLimit="0" />
      <add name="ExtensionlessUrlHandler-Integrated-4.0" path="*." verb="GET,HEAD,POST,DEBUG,PUT,DELETE,PATCH,OPTIONS" type="System.Web.Handlers.TransferRequestHandler" preCondition="integratedMode,runtimeVersionv4.0" />
    </handlers>

你试试吧

Jet.Xu | 园豆:359 (菜鸟二级) | 2013-05-20 17:48

@咦?: 你最好还是多检查一下吧 我也搭了一遍是没问题的呢 这种IM我也搞过 呵呵

routes.IgnoreRoute("{resource}.asyn/{*pathInfo}");

这句别漏了

Jet.Xu | 园豆:359 (菜鸟二级) | 2013-05-20 17:51

@Jet.Xu: 照您的修改后可以了,不过JQ请求的URL前面要加/,很郁闷测试环境为什么不用加。总之非常感谢您!

龙卷风摧毁停车场! | 园豆:210 (菜鸟二级) | 2013-05-21 10:10

@咦?: 为什么加/ 那你就得区分 ./ / 和 ../的区别

<add verb="*" path="asyncRequest.asyn" type="logisticsClient.commonClass.myHttpAsyncHandler"/>

这样注册必然是在网站的根目录下的url才能访问

Jet.Xu | 园豆:359 (菜鸟二级) | 2013-05-21 10:14
其他回答(1)
0

你是用mvc开发??

Lin.Zheng | 园豆:62 (初学一级) | 2013-05-17 16:18

是的。

@咦?: 换成一般处理文件把,或者修改路由器!

你是做的是那种像WEB QQ的即时通讯??

支持(0) 反对(0) Lin.Zheng | 园豆:62 (初学一级) | 2013-05-17 16:33

@Lin.Zheng: 差不多,

清除回答草稿
   您需要登录以后才能回答,未注册用户请先注册