在web.config中已经配置好映射的类了,为什么我调试他不走IhttpAsyncHandler继承类的BeginProcessRequest方法呢,试半天了,求解啊
没有 忽略指定路由吧
下面以后缀为.asmx举例:
在web.config
<httpHandlers>
<add verb="*" path="*.asmx" type="处理这些请求的类"/>
</httpHandlers>
在RegisterRoutes方法里
routes.IgnoreRoute("{resource}.asmx/{*pathInfo}");
问题已解决。万分感谢
我在新建的测试项目上面调试成功了,可在正式项目上面还是不行,有没有别的原因导致这种情况的?? 已经设置忽略指定路由了
@咦?: 正式项目是什么环境?
@Jet.Xu: 和测试环境一样 .net 4.5
@咦?: mvc3
@咦?: 你看下这个
http://www.cnblogs.com/cnblogsfans/archive/2009/09/25/1574129.html
如果你是发布在IIS7下 如果没有 “配置处理程序映射” 处理路由会造成访问不到
@Jet.Xu: 我上我的web.config截图您看一下
@咦?:
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>
你试试吧
@咦?: 你最好还是多检查一下吧 我也搭了一遍是没问题的呢 这种IM我也搞过 呵呵
routes.IgnoreRoute("{resource}.asyn/{*pathInfo}");
这句别漏了
@Jet.Xu: 照您的修改后可以了,不过JQ请求的URL前面要加/,很郁闷测试环境为什么不用加。总之非常感谢您!
@咦?: 为什么加/ 那你就得区分 ./ / 和 ../的区别
<add verb="*" path="asyncRequest.asyn" type="logisticsClient.commonClass.myHttpAsyncHandler"/>
这样注册必然是在网站的根目录下的url才能访问
你是用mvc开发??
是的。
@咦?: 换成一般处理文件把,或者修改路由器!
你是做的是那种像WEB QQ的即时通讯??
@Lin.Zheng: 差不多,