Pertanyaan yang diberi tag «task-parallel-library»

Pustaka Paralel Tugas adalah bagian dari .NET Framework sejak .NET 4. Ini adalah sekumpulan API untuk memungkinkan pengembang memprogram aplikasi asinkron.

5
Mengapa PembatalanToken terpisah dari PembatalanTokenSource?
Saya sedang mencari alasan mengapa. NET CancellationTokenstruct diperkenalkan di samping CancellationTokenSourcekelas. Saya mengerti bagaimana API akan digunakan, tetapi ingin juga memahami mengapa itu dirancang seperti itu. Yaitu, mengapa kita memiliki: var cts = new CancellationTokenSource(); SomeCancellableOperation(cts.Token); ... public void SomeCancellableOperation(CancellationToken token) { ... token.ThrowIfCancellationRequested(); ... } bukannya langsung lewat CancellationTokenSourceseperti: …

4
Apa perbedaan antara mengembalikan batal dan mengembalikan Tugas?
Dalam melihat berbagai sampel CTP Async C # saya melihat beberapa fungsi async yang kembali void , dan yang lain mengembalikan non-generik Task. Saya bisa melihat mengapa mengembalikan a Task<MyType>berguna untuk mengembalikan data ke pemanggil ketika operasi async selesai, tetapi fungsi yang saya lihat memiliki tipe Taskpengembalian tidak pernah mengembalikan …

5
Mengapa saya harus lebih memilih 'await Task.WhenAll' tunggal daripada beberapa menunggu?
Jika saya tidak peduli dengan urutan penyelesaian tugas dan hanya ingin semuanya diselesaikan, haruskah saya tetap menggunakan await Task.WhenAllalih-alih beberapa await? misalnya, apakah di DoWork2bawah metode yang disukai DoWork1(dan mengapa?): using System; using System.Threading.Tasks; namespace ConsoleApp { class Program { static async Task<string> DoTaskAsync(string name, int timeout) { var start …

5
Buat Tugas yang selesai <T>
Saya menerapkan metode Task&lt;Result&gt; StartSomeTask()dan kebetulan mengetahui hasilnya sebelum metode dipanggil. Bagaimana cara membuat Tugas &lt;T&gt; yang sudah selesai? Inilah yang sedang saya lakukan: private readonly Result theResult = new Result(); public override Task&lt;Result&gt; StartSomeTask() { var task = new Task&lt;Result&gt;(() =&gt; theResult); task.RunSynchronously(CurrentThreadTaskScheduler.CurrentThread); return task; } Apakah ada solusi …

3
Apakah dianggap dapat diterima untuk tidak memanggil Dispose () pada objek Tugas TPL?
Saya ingin memicu tugas untuk dijalankan di thread latar belakang. Saya tidak ingin menunggu tugas selesai. Dalam .net 3.5 saya akan melakukan ini: ThreadPool.QueueUserWorkItem(d =&gt; { DoSomething(); }); Dalam .net 4 TPL adalah cara yang disarankan. Pola umum yang saya lihat direkomendasikan adalah: Task.Factory.StartNew(() =&gt; { DoSomething(); }); Namun, StartNew()metode …


3
Apa keuntungan menggunakan async dengan MVC5?
Apa perbedaan antara: public ActionResult Login(LoginViewModel model, string returnUrl) { if (ModelState.IsValid) { IdentityResult result = IdentityManager.Authentication.CheckPasswordAndSignIn(AuthenticationManager, model.UserName, model.Password, model.RememberMe); if (result.Success) { return Redirect("~/home"); } else { AddErrors(result); } } return View(model); } dan: [HttpPost] [AllowAnonymous] [ValidateAntiForgeryToken] public async Task&lt;ActionResult&gt; Login(LoginViewModel model, string returnUrl) { if (ModelState.IsValid) { IdentityResult …

7
ASP.NET Web API OperationCanceledException saat browser membatalkan permintaan
Ketika pengguna memuat halaman, itu membuat satu atau lebih permintaan ajax, yang menekan pengontrol ASP.NET Web API 2. Jika pengguna menavigasi ke halaman lain, sebelum permintaan ajax ini selesai, permintaan dibatalkan oleh browser. ELMAH HttpModule kami kemudian mencatat dua kesalahan untuk setiap permintaan yang dibatalkan: Galat 1: System.Threading.Tasks.TaskCanceledException: A task …

2
Perbedaan antara await dan ContinueWith
Adakah yang bisa menjelaskan jika awaitdanContinueWith sama atau tidak dalam contoh berikut. Saya mencoba menggunakan TPL untuk pertama kalinya dan telah membaca semua dokumentasi, tetapi tidak mengerti perbedaannya. Menunggu : String webText = await getWebPage(uri); await parseData(webText); ContinueWith : Task&lt;String&gt; webText = new Task&lt;String&gt;(() =&gt; getWebPage(uri)); Task continue = webText.ContinueWith((task) …



5
Mengapa tindakan asinkron ini hang?
Saya memiliki aplikasi multi-tier .Net 4.5 yang memanggil metode menggunakan kata kunci baru C # asyncdan awaityang baru saja hang dan saya tidak dapat melihat alasannya. Di bagian bawah saya memiliki metode async yang memperluas utilitas database kami OurDBConn(pada dasarnya pembungkus untuk objek DBConnectiondan yang mendasarinya DBCommand): public static async …


3
Pengecualian Tugas tidak diamati baik dengan Menunggu Tugas atau mengakses properti Pengecualiannya. Akibatnya, pengecualian yang tidak teramati itu
Apa artinya ini dan bagaimana mengatasinya? Saya menggunakan tugas TPL. Seluruh kesalahan Pengecualian Tugas tidak diamati baik dengan Menunggu Tugas atau mengakses properti Pengecualiannya. Akibatnya, pengecualian yang tidak teramati ditampilkan kembali oleh utas finalizer. di System.Threading.Tasks.TaskExceptionHolder.Finalize () mscorlib.dll

3
SynchronizationContext saat ini tidak dapat digunakan sebagai TaskScheduler
Saya menggunakan Tasks untuk menjalankan panggilan server yang berjalan lama di ViewModel saya dan hasilnya akan kembali Dispatcherdigunakan TaskScheduler.FromSyncronizationContext(). Sebagai contoh: var context = TaskScheduler.FromCurrentSynchronizationContext(); this.Message = "Loading..."; Task task = Task.Factory.StartNew(() =&gt; { ... }) .ContinueWith(x =&gt; this.Message = "Completed" , context); Ini berfungsi dengan baik saat saya menjalankan …

Dengan menggunakan situs kami, Anda mengakui telah membaca dan memahami Kebijakan Cookie dan Kebijakan Privasi kami.
Licensed under cc by-sa 3.0 with attribution required.