KevinWG / OSS.Clients.Pay

开源支付SDK(标准库),主要打造微信支付,支付宝支付,标准库项目,同时支持.net framework和.net core
http://www.osscore.com
Apache License 2.0
330 stars 123 forks source link

微信调用AddUniOrderAsync始终没返回结果 #5

Closed feynmanloo closed 7 years ago

feynmanloo commented 7 years ago

按照demo,我建了一个基于.net 4.6.2的项目,引用OSS.PayCent.WX都正常,但在尝试下单的时候,

        public ActionResult About()
        {
            var order = new WxAddPayUniOrderReq();

            order.device_info = "WEB";
            order.body = "测试商品支付";
            order.openid = "sdfvsfdbf345678888fhngfbsdfbsdfb";

            order.out_trade_no = "2017022423560123";
            order.trade_type = "JSAPI";
            order.total_fee = 100;

            var res = m_Api.AddUniOrderAsync(order).WaitResult();  // 代码执行到这行,就一直卡住,没有执行下一行,结果也没有返回来,页面一直转圈圈
            ViewBag.Message = res.RespXml;

            return View();
        }
KevinWG commented 7 years ago

不好意思,刚看到,.net framework mvc有一个bug,异步IO操作时如果返回的不是Task会假死状态,可以尝试用HttpClient去尝试一下。 建议解决方案,使用返回Task或者 在.net core 项目使用即可!

KevinWG commented 7 years ago

https://github.com/KevinWG/OSS.PayCenter 已更新