Очень часто мне приходится отправлять данные в и из сторонних систем учета с сайтов asp.net с использованием SQL-сервера. Импорт данных обычно занимает некоторое время, и я пытаюсь найти лучший метод для обработки долговременных задач с возможностью обновления пользователя, если они хотят видеть, как это происходит. Мои вопросы - вот некоторые из плюсов и минусов с приведенными ниже методами и что вы рекомендуете и почему?ASP.NET долго работающие задачи задачи
Старый стиль жерех response.write: Я использую это совсем немного, и в данный момент мой перейти к методу, потому что это быстро. У меня на самом деле не было много проблем с этим. Я думал, что утилизация пула приложений будет проблемой, но я не думаю, что она будет перерабатываться в середине запроса.
Использования IFrame, как предлагаемые здесь http://encosia.com/easy-incremental-status-updates-for-long-requests/: Подобно описанный выше способом, кроме этого является asynchronous.I'm не уверен, если это позволит перегрузке ASP.Net
Отдельного окно приложения, которые вызывает веб-службу с сайта: Я использовал этот метод, но для его настройки требуется немного больше времени и перестанет работать, когда пул приложений будет перерабатываться. Я, вероятно, не использовать этот метод
Windows Workflow: не использовал его, но кажется, что (особенно для небольших обновлений данных) будет перегибом
службы Windows: То же самое, что и выше. Кажется, что это было бы слишком сложно
Ajax, отдельная нить и таймер для опроса результатов кэширования: я использовал это совсем немного, но это остановится, если пул приложений будет перерабатываться, поскольку он находится в отдельном потоке, который asp .net не знает.
Для WAWS вы можете использовать Azure WebJobs. См. Мой учебник http://www.asp.net/aspnet/overview/developing-apps-with-windows-azure/getting-started-with-windows-azure-webjobs. На Azure у вас всегда есть опция рабочей роли, Azure WebJobs предоставляет альтернативу WAWS без рабочей роли. – RickAndMSFT
Новая страница WebJobs на портале Windows Azure Web Sites позволяет легко создавать и управлять по требованию, по расписанию или постоянно выполняющимся задачам. Дополнительная информация на [http://www.windowsazure.com/en-us/documentation/articles/web-sites-create-web-jobs/](http://www.windowsazure.com/en-us/documentation/ статьи/веб-сайты, создать-веб-задание /). – timamm