Как можно асинхронно запрашивать коллекцию ParseObject в моем приложении ASP.NET MVC? - PullRequest
0 голосов
/ 26 апреля 2018

Я пробовал следующее.В настоящее время я просто пытаюсь прочитать коллекцию объектов, запрошенных в консоли.Согласно руководству предпочтительны асинхронные запросы: http://docs.parseplatform.org/dotnet/guide/#queries

public class IndexModel : PageModel
    {
        public void OnGet()
        {
            Task<int> task = HandleMessagesAsync();
            task.Start();

        }

        private async Task<int> HandleMessagesAsync()
        {
            var query = ParseObject.GetQuery("Message");
            IEnumerable<ParseObject> results = await query.FindAsync();

            Console.WriteLine(results);

            throw new NotImplementedException();
        }
    }

Я получаю следующую ошибку:

System.InvalidOperationException: 'Start may not be called on a promise-style task.'

1 Ответ

0 голосов
/ 26 апреля 2018

Класс Task запускается автоматически, согласно этому руководству: https://social.msdn.microsoft.com/Forums/vstudio/en-US/70f82b79-188e-4e91-8f86-b5a9382663fb/problem-with-taskstart?forum=netfxbcl

Нет необходимости вызывать .Start();

public class IndexModel : PageModel
    {
        public void OnGet()
        {
            Task<int> task = HandleMessagesAsync();
        }

        private async Task<int> HandleMessagesAsync()
        {
            var query = ParseObject.GetQuery("Message");
            IEnumerable<ParseObject> results = await query.FindAsync();
            var count = await query.CountAsync();

            Debug.WriteLine("# Message: " + count);

            throw new NotImplementedException();
        }
    }

Я использовал Debug.WriteLine("# Message: " + count);, чтобы сделатьубедитесь, что из моей базы данных было запрошено правильное количество объектов Message.

...