Tôi đang chạy chương trình winrt với nhiều tác vụ. Ở giữa chạy, tôi nhận được ngoại lệ sau đây:Có giới hạn về số lượng tác vụ không?
Not enough quota is available to process this command
Các vết đống là
at Windows.UI.Core.CoreDispatcher.InvokeAsync(CoreDispatcherPriority priority, InvokedHandler freeThreadedCallback, Object sender, Object context)
at System.Threading.WinRTSynchronizationContext.Post(SendOrPostCallback d, Object state)
at System.Threading.Tasks.SynchronizationContextAwaitTaskContinuation.InvokeOrPostAction(Object state)
at System.Threading.Tasks.AwaitTaskContinuation.RunInline(ContextCallback callback, Object state)
--- End of stack trace from previous location where exception was thrown ---
at System.Threading.Tasks.AwaitTaskContinuation.<ThrowAsyncIfNecessary>b__1(Object s)
at System.Threading.QueueUserWorkItemCallback.WaitCallback_Context(Object state)
at System.Threading.ExecutionContext.RunInternal(ExecutionContext executionContext, ContextCallback callback, Object state, Boolean preserveSyncCtx)
at System.Threading.ExecutionContext.Run(ExecutionContext executionContext, ContextCallback callback, Object state, Boolean preserveSyncCtx)
at System.Threading.QueueUserWorkItemCallback.System.Threading.IThreadPoolWorkItem.ExecuteWorkItem()
at System.Threading.ThreadPoolWorkQueue.Dispatch()
at System.Threading._ThreadPoolWaitCallback.PerformWaitCallback()
Sau đó, nó bị treo.
Đây có phải là vấn đề dành riêng cho WintRT không?
Có cách giải quyết khác không?
Chia sẻ một số mã? Tôi tin rằng bằng cách chạy một ứng dụng trong chế độ gỡ lỗi, bạn có thể thấy nơi ngoại lệ đã được ném – sll
Hãy nhớ rằng nhiệm vụ .Net chạy trên một bối cảnh đồng bộ hóa. Trong trường hợp của bạn, bối cảnh đồng bộ hóa là chủ đề giao diện người dùng (bạn thấy điều này vì nó đang gọi CoreDispatcher.InvokeAsync). Điều đó có nghĩa rằng tất cả các nhiệm vụ của bạn sẽ chạy serially trên thread UI. Đó là những gì bạn dự định? –