sql >> Database teknologi >  >> NoSQL >> MongoDB

MongoDB uendelig Find ToListAsync

Løsningen på problemet, som Alex venligt påpegede, er at lave FillCourseList også asynkron. Dette gør det muligt for programmet at fortsætte med at køre, mens dataene hentes fra databasen. Det blokerende opkald, jeg havde før, var tilsyneladende årsagen til problemet. Dette tilføjer behovet for trådsikker opkald dog til Windows-formularen.

    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. Sådan løses TypeError:uhashbar type 'liste'

  2. Sådan sorteres dokumenter baseret på længden af ​​et Array-felt

  3. hvordan får man Python Mongo Aggregate til at forklare ved hjælp af db.command?

  4. Kan ikke få mongoose-unique-validator til at virke