MongoDB
 sql >> база данни >  >> NoSQL >> MongoDB

MongoDB безкраен Find ToListAsync

Решението на проблема, както любезно посочи Алекс, е създаването на FillCourseList асинхронен също. Това позволява на програмата да продължи да работи, докато данните се извличат от базата данни. Блокиращото обаждане, което имах преди, очевидно беше причината за проблема. Това наистина добавя необходимостта от безопасен за нишки обаждания към Windows Form обаче.

    private delegate void SetListCallback(List<Course> result);

    private async Task GetCourseList() {
        Task<List<Course>> courseTask = MongoDBController.GetCourses();
        List<Course> result = await courseTask.ConfigureAwait(false);

        // When finished, fill the listbox
        FillCourseList(result);
    }

    private void FillCourseList(List<Course> result) {
        // If the calling thread's ID doesn't match the creating thread's ID
        // Invoke this method on the correct thread via the delegate
        if (this.listBox_overview_vakken.InvokeRequired) {
            SetListCallback d = new SetListCallback(FillCourseList);
            this.Invoke(d, result);
        } else {
            foreach (Course s in result) {
                listBox_overview_vakken.Items.Add(s);
            }
        }
    }



  1. Redis
  2.   
  3. MongoDB
  4.   
  5. Memcached
  6.   
  7. HBase
  8.   
  9. CouchDB
  1. MongoDB - изключване с код:62

  2. Избутване на елемент във вложен масив mongoose nodejs

  3. Nodejs - модул websocket-node:Как да накарам мултиклиентския сокет-сървър да работи?

  4. Дублирайте документ в MongoDB, като използвате нов _id

  5. Атомарно сливане на ниво ред REPLACE в BigQuery