Я создаю приложение Flex, которое вызывает страницу .aspx на том же веб-сервере, который создает отчет в формате PDF с использованием служб SQL Reporting Services. Когда отчет построен, пользователю предлагается открыть или сохранить PDF-файл.
Мы пытаемся найти способ отобразить индикатор выполнения, чтобы пользователь знал, что запрошенный им отчет создается, а затем уничтожить индикатор выполнения после завершения создания отчета.
Я попытался открыть новое окно с помощью JavaScript и попытаться поймать, когда окно закрывается, а также попытался выполнить XMLHTTPRequest, но, похоже, ничего не работает.
У кого-нибудь есть предложения?





Есть 2 варианта:
FileReference в Flex для программного вызова файла aspx. Вы сможете отслеживать ход вызова из Flex, слушая его события. Но пользователи могут только сохранять PDF-файл, но не открывать его.Если у вас нет контроля над страницей, чтобы иметь возможность разместить на ней JavaScript, чтобы попасть по URL-адресу (или перезвонить родительскому элементу / открывателю), вы можете подумать о создании собственной страницы aspx для размещения элемента управления ReportViewer. , и отобразить отчет внутри него. Для этого вам потребуется создать веб-сайт .NET со страницей и файлом web.config - вам не нужно будет делать больше, чем заставить его получать какие-либо параметры, необходимые вашему отчету, и это можно будет сделать с помощью inline-to-the -aspx вместо того, чтобы требовать глубоких знаний .NET.
Или вы можете нажать SS-RS API и напрямую отобразить отчет. Здесь вы должны создать URL-адрес с параметрами для отчета на сайте SS-RS API. Я думаю, хотя и не знаю наверняка, что пользовательский интерфейс SS-RS использует сам API за кулисами. По умолчанию API размещается на сайте под названием «reportserver» - вы можете прослушивать HTTP-трафик во время рендеринга отчета, чтобы начать работу с URL-адресом, который вам нужно нажать.
Другой вариант, не упомянутый здесь, - создать веб-сервис .Net, добавить его в свой гибкий проект, и когда он попадет в обработчик результатов, вы знаете, что файл создается в этот момент.