首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Kentico AsyncWorker (运行任务)

Kentico AsyncWorker (运行任务)
EN

Stack Overflow用户
提问于 2020-01-27 11:27:27
回答 1查看 226关注 0票数 0

我们有一个与第三方服务交互的Kentico。该服务以前使用SOAP,但已转移到JSON (因此现在是异步的)。

我们所有的低级命令都是Task类型的。为了在Kentico之外执行它们,我们使用以下命令调用这些调用:

代码语言:javascript
复制
Task.Run(async () => { await task; });

但是,当在Kentico中时,这将导致UI死锁。我们正在尝试使用Kentico的AsyncWorker,但是找不到正确的方法/参数。

下面是我们正在尝试的一个示例:

代码语言:javascript
复制
AsyncWorker worker = new AsyncWorker();
worker.RunAsync(task, System.Security.Principal.WindowsIdentity.GetCurrent());
worker.WaitForFinish();

如果您能给出任何建议,我们将不胜感激!

谢谢!

EN

回答 1

Stack Overflow用户

发布于 2020-01-28 02:14:32

有两件事可能值得一查:

1)检查\Web\CMS\CMSPages\PortalTemplate.aspx文件,使其在页面上包含Async="true“属性:

代码语言:javascript
复制
<%@ Page Language="C#" AutoEventWireup="true" Inherits="CMSPages_PortalTemplate" Async="true"
ValidateRequest="false" MaintainScrollPositionOnPostback="true" EnableEventValidation="false"
Codebehind="PortalTemplate.aspx.cs" %>

2)在任何情况下,您的web部件代码都将被同步调用,您是否尝试过像this article中描述的那样显式同步调用它

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/59924846

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档