我正在尝试使用具有 LongRunning 参数的 TaskFactory(框架 4)运行异步任务,我显示了一个加载面板,但 ui 挂起并且动态 gif 未正确呈现。
我认为在显示面板后触发此任务将在单独的线程中完成,因此 UI 可以自由显示我的加载图像,但它会卡住。
任务启动后没有更多代码。其他一切都在回调函数中控制。
如何执行此加载图像以显示不挂起?
'HERE I MAKE VISIBLE MY LOADING PANEL
panelCargando.Visible = True
'I START A LONG RUNNING TASK with callback
Dim context As TaskScheduler = TaskScheduler.FromCurrentSynchronizationContext
Task(Of ContratoType). _
Factory.StartNew(Function()
Dim contrato As ResultadoTarificacionType = Me.Tarificador.TarificarContrato(datosContrato, Nothing, 25000)
Dim estadoContacto As EstadoProductoContratoType() = Tarificador.ObtenerEstadosTarificacion(contrato.IdContrato)
'Dim estadoProductoTarif As EstadoProductoContratoType() = Tarificador.ObtenerEstadosTarificacionProductos(contrato.IdContrato )
Return Tarificador.ObtenerContrato(contrato.IdContrato)
End Function, CancellationToken.None, TaskCreationOptions.LongRunning, context) _
.ContinueWith(Sub(r)
TaskCallBack(r)
End Sub, context)