这两天在做支付宝接口遇见了个很棘手的问题,手机端的notify_url异步调用通知并没有执行(return_url没有问题)。在网上找了很多说的都不太清楚,也试了很多方法,但还是没有作用。
看来这个http://bbs.csdn.net/topics/390674193?page=1链接后有所启发
即
支付宝的 异步通知被 asp.net 的安全机制给拦截了,
返回给支付宝的500错误信息是
A potentially dangerous Request.Form value was detected from the client//一个有潜在危险的请求。从客户端表单值检测
解决方法如下:
//在Action前加上。 [HttpPost, ValidateInput(false)] public ActionResult notify_url(){} //在web.config中添加 //加在<system.web> </system.web>中 <httpRuntime requestValidationMode="2.0" /> //加这句代码后服务器可能会报430错误。(我的报了这种错误,不知其他的是否会和我一样) //解决方法是在<system.webServer></system.webServer>中加如下代码 <directoryBrowse enabled ="true"/>