2017-02-09 3 views
0

Мой код работал нормально, но сейчас я получаю сообщение об ошибке на всех моих TableControllers, ожидая функции InsertAsync. Это код:Ожидать Ошибка InsertAsync в Azure Mobile Service TableController

// POST tables/Account 
    public async Task<IHttpActionResult> PostAccount(Account item) 
    { 
     Account current = await InsertAsync(item); 
     return CreatedAtRoute("Tables", new { id = current.Id }, current); 
    } 

Ошибка говорит: Cannot await System.Threading.Tasks.Task<sampleAppService.DataObjects.Account> expression.

Я понятия не имею, что вызывает это. Любая помощь?

EDIT

Сигнатура функции InsertAsync

protected virtual Task<TData> InsertAsync (TData item); 
+0

Пожалуйста, пост (подпись) 'InsertAsync' метод –

+1

@naffie Убедитесь, что вы используете правую структуру в своих Project-Properties> = 4.5. Далее я прочитал, что у кого-то были похожие проблемы из-за Microsoft.Bcl. Проверьте свои зависимости и удалите Microsoft.Bcl, если это возможно. – Sebi

+0

@Peter Bons, я добавил редактирование, которое показывает его подпись. Sebi, у меня есть Framework 4.5, но он все еще не работает. Он работает с Microsoft.Bcl, поэтому я не уверен, почему это было бы причиной. Я попробую удалить его, чтобы увидеть, что-нибудь изменится. – naffie

ответ

1

Основываясь на предложении СЦББИ в выше, все, что я должен был сделать сменить цель .Net Framework от 4.5 to 4.5.1 в моем случае. Это разрешило ошибки для меня.

0

Предполагая, что ваш InsertAsync() выполняют некоторые операции асинхронных, которая становится ждала внутри, ваш InsertAsync() метод подпись должна быть изменена, чтобы включить асинхронное слово:

protected virtual async Task<TData> InsertAsync (TData item) 
{ 
    await dbContext.InsertAsync(item); 
} 
Смежные вопросы