-2

创建新订单时,我看到执行时间很长,然后它最终失败并出现 TaskCanceledException。

我正在使用我自己的支付模块,并且我已经将它与已经写好的进行了比较,而且我似乎正在实施正确的事情。正在处理付款。

https://github.com/montanehamilton/vc-module-PayPal-Rest

我也有一个自定义的运输方式模块

https://github.com/montanehamilton/vc-fedex

遇到这种行为时有什么想法吗?运行2.13.9的平台。

异常详情

POST storefrontapi/cart/createorder 500 内部服务器错误 任务被取消。

System.Threading.Tasks.TaskCanceledException:任务被取消。在 System.Runtime.CompilerServices.TaskAwaiter.ThrowForNonSuccess(任务任务) 在 System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(任务任务) 在 System.Runtime.CompilerServices.TaskAwaiter.ValidateEnd(任务任务) 在 VirtoCommerce.Storefront.AutoRestClients.OrdersModuleApi .OrderModule.d__9.MoveNext() --- 在 System.Runtime.CompilerServices.TaskAwaiter.ThrowForNonSuccess(Task task) 在 System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(任务任务)在 VirtoCommerce.Storefront.AutoRestClients.OrdersModuleApi.OrderModuleExtensions.d__9.MoveNext() --- 从先前抛出异常的位置结束堆栈跟踪 --- 在 System.Runtime。1.CallEndDelegate(IAsyncResult asyncResult) at System.Web.Mvc.Async.AsyncResultWrapper.WrappedAsyncResultBase1.End() 在 System.Web.Mvc.Async.AsyncControllerActionInvoker.EndInvokeActionMethod(IAsyncResult asyncResult) 在 System.Web.Mvc.Async.AsyncControllerActionInvoker.AsyncInvocationWithFilters.b__3d() 在 System.Web.Mvc.Async.AsyncControllerActionInvoker.AsyncInvocationWithFilters。 <>c__DisplayClass46.b__3f() 在 System.Web.Mvc.Async.AsyncControllerActionInvoker.AsyncInvocationWithFilters。<>c__DisplayClass46.b__3f() 在 System.Web.Mvc.Async.AsyncControllerActionInvoker.AsyncInvocationWithFilters。<>c__DisplayClass46.b__3f() 在系统。 Web.Mvc.Async.AsyncControllerActionInvoker.<>c__DisplayClass33.b__32(IAsyncResult asyncResult) 在 System.Web.Mvc.Async.AsyncResultWrapper.WrappedAsyncResult1.CallEndDelegate(IAsyncResult asyncResult) at System.Web.Mvc.Async.AsyncResultWrapper.WrappedAsyncResultBase1.End() 在 System.Web.Mvc.Async.AsyncControllerActionInvoker.EndInvokeActionMethodWithFilters(IAsyncResult asyncResult) 在 System.Web.Mvc.Async.AsyncControllerActionInvoker.<>c__DisplayClass21.<>c__DisplayClass2b.b__1c() 在 System.Web.Mvc。 Async.AsyncControllerActionInvoker.<>c__DisplayClass21.b__1e(IAsyncResult asyncResult)

4

2 回答 2

1

由于超时,任务被取消。VirtoCommerce 店面应配置为将这些超时设置为适合任务的值。

就我而言,PayPal 建议至少 30 秒,如果不是更多的话。我将超时设置为 1 分钟,问题就解决了。

您可以在 web.config 中设置名称为“VirtoCommerce:Storefront:ApiRequest:Timeout”的 AppSetting 以更改进行 API 调用时的超时。

于 2017-07-03T00:46:37.807 回答
0

我建议将平台更新到 2.13.11,将模块更新到最新版本。

此更新减少了订单流期间的内存使用和性能,因此我们可以降低 Azure 价格计划。

于 2017-08-03T08:28:53.710 回答