У нас есть Kentico CMSAbstractWebPart, который взаимодействует со сторонней службой. Служба исторически использовала SOAP, но переместилась в JSON (таким образом, теперь asyn c).
Все наши команды низкого уровня относятся к типу Task. Чтобы выполнить их за пределами Kentico, мы вызываем вызовы с помощью:
Task.Run(async () => { await task; });
Однако, когда внутри Kentico, это вызовет взаимоблокировки с пользовательским интерфейсом. Мы пытаемся использовать AsyncWorker от Kentico, но не можем найти правильные методы / параметры.
Вот пример того, что мы пытаемся:
AsyncWorker worker = new AsyncWorker();
worker.RunAsync(task, System.Security.Principal.WindowsIdentity.GetCurrent());
worker.WaitForFinish();
Любое руководство, которое вы могли бы дать, С благодарностью!
Спасибо!