«Асинхронные операции не разрешены в этом контексте» - PullRequest
3 голосов
/ 07 февраля 2012

Я получаю исключение ниже при вызове им автоматически сгенерированных асинхронных веб-методов, о которых я спрашивал в этом посте

Асинхронные операции в этом контексте запрещены. Начало страницы асинхронная операция должна иметь для атрибута Async значение true и асинхронная операция может быть запущена только на странице до

Результаты поиска Google приводят к добавлению Async = True в директиву страницы, но разные люди отмечают, что это делает страницу 'Блокирующая' (что не является истинной асинхронной операцией). Итак, как мне добиться асинхронной работы при вызове методов веб-сервиса.

1 Ответ

2 голосов
/ 07 февраля 2012

Проверьте этот ответ .Я не буду копировать / вставлять ответы оттуда, но немного расширю обсуждение.

Принятый ответ НЕ является правильным.Поскольку «EndInvoke» отсутствует, при каждом вызове этого метода будет происходить утечка ресурсов. См. Это обсуждение о том, почему это не в порядке.

Вместо этого предлагается запустить поток демона или создать совершенно разные процессы, которые читают из MSMQ и обрабатывают там долгосрочные задачи.

...