用手机网页支付宝直接支付 提示支付完成后不等跳转到商家页面马上关闭整个浏览器
却发现不会访问到设置的支付宝异步notify页面
加了日志 连PageLoad事件都进不了
各种找原因 后联系支付宝的客服 把订单号发给他 他说是请求了 但是被拒绝了 还把请求结果页面发过来了:
<html><head><title>从客户端(notify_data=****** 显示已截短)</title></head></html>
这就是说post请求被拒绝了
不过还是没头绪 notify.aspx已经设置ValidateRequest="false"
查看iis日志 果然看到 支付宝的持续请求:
2014-11-03 03:45:32 xxx.xxx.xxx.xxx POST /Payment/Alipay/notify.aspx - 80 - 110.75.141.3 Mozilla/4.0 500 0 0 130
2014-11-03 03:49:01 xxx.xxx.101.xxx POST /Payment/Alipay/notify.aspx - 80 - 110.75.141.2 Mozilla/4.0 500 0 0 56
2014-11-03 03:59:29 xxx.xxx.101.xxx POST /Payment/Alipay/notify.aspx - 80 - 110.75.141.3 Mozilla/4.0 500 0 0 56
继续百度 偶然看见.net4.0环境下 放开post请求 需要设置一下配置文件:
<system.web>
<pages validateRequest="false" controlRenderingCompatibilityVersion="4.0"/>
<httpRuntime requestValidationMode="2.0" />
</system.web>
试了一下竟然成功了 尼玛 就这点小问题折腾了2天时间 ...