ASP.NET / WCF - выполнить сервер. Выполнить асинхронно - PullRequest
0 голосов
/ 30 марта 2010

Мне нужно запустить метод HttpContext.Current.Server.Execute в моем приложении ASP.NET. Это приложение имеет операцию WCF, которая выполняет некоторую обработку. В настоящее время я должен правильно выполнять свою обработку в рамках моей операции WCF. Тем не менее, я хотел бы сделать это асинхронно.

В случае ошибки при попытке сделать это асинхронно, я попытался запустить Server.Execute в обработчике событий DoWork BackgroundWorker. К сожалению, это выдает ошибку, которая говорит

"ссылка на объект не установлена ​​для экземпляра объекта"

Элемент HttpContext не является нулевым. Я проверил это. Это какое-то свойство, вложенное в объект HttpContext, которое кажется нулевым. Тем не менее, я не смог определить, почему это не сработает. Это происходит, как только я перемещаю обработку в поток BackgroundWorker.

У меня вопрос, как я могу асинхронно выполнить метод Server.Execute?

Спасибо,

1 Ответ

0 голосов
/ 02 апреля 2010

Вы делаете что-то ужасно неправильно. Вы не должны звонить Server.Execute из вашей службы WCF. На самом деле кажется, что вы не знаете, как правильно выполнять асинхронную обработку в приложении ASP.NET. Это сильно отличается от настольного приложения.

См. " Асинхронные страницы в ASP.NET 2.0 " для отличной статьи, которая по-прежнему актуальна.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...