MongoDB
 sql >> Cơ Sở Dữ Liệu >  >> NoSQL >> MongoDB

MongoDB vô tận Tìm ToListAsync

Giải pháp cho vấn đề, như Alex vui lòng chỉ ra, là tạo ra FillCourseList asynchronous aswell. Điều này cho phép chương trình tiếp tục chạy trong khi dữ liệu được tìm nạp từ cơ sở dữ liệu. Cuộc gọi chặn mà tôi đã gặp trước đây rõ ràng là nguyên nhân của sự cố. Điều này làm tăng thêm nhu cầu về thread-safe cuộc gọi sang Biểu mẫu Windows.

    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. Cách đếm các mục trong danh sách danh sách

  2. Cài đặt và chạy MongoDB trên OSX

  3. mongodb-org xung đột với mongodb-10gen-server

  4. Thời gian không khớp trong mongo shell

  5. Gọi một thủ tục đã lưu trữ trong MongoDB qua C #