В настоящее время я работаю над большим интрасетевым коллажем, который использует sharepoint для агрегирования контента с нескольких других внутренних серверов, таких как:
- moss.myapp.internalserver.local - Портал MOSS
- ssrs.myapp.internalserver.local - отчеты служб отчетов SQL Server
- app.myapp.internalserver.local - пользовательские формы ASP.NET MVC
Портал мха вызывает формы MVC, используя iframes в диалоговых окнах jQuery (точнее квадратный), которые, в свою очередь, возвращаются на страницу мха с javascript для различных вещей, включая закрытие диалога jQuery.
Это, очевидно, приведет к сбою той же политики происхождения в браузерах (и, следовательно, не позволит javascript вызывать фреймы / окна из разных источников), поэтому я решил эту проблему, установив document.domain = "myapp.internalserver. local "на главных страницах MOSS и страницах форм приложения, что позволяет междоменным сценариям нормально работать между мхом и содержимым приложения.
Итак, это прекрасно работает, пока я не добавлю отчет SSRS в микс, используя веб-часть средства просмотра отчетов (по умолчанию - sharepoint, плюс пару сторонних, включая мою собственную, которая просто использует компонент просмотра отчетов ASP.NET). .
Кажется, что для просмотра отчетов требуется обработчик, который возвращает html на страницу. Тем не менее, результирующее содержимое средства просмотра отчетов, по-видимому, визуализируется и записывается в некоторые iframes, но это не дает нам никакого способа установить document.domain для этих iframes, и поэтому сценарии завершаются ошибкой.
В лучшем случае это означает, что мы получаем маленький желтый значок ошибки javascript в строке состояния, а в худшем случае, когда используется динамический рендеринг, колесо прогресса «отчет о рендеринге» просто анимирует и никогда не доставляет отчет.
Кто-нибудь видел это раньше, и если да, то как ты справился с этим?
Спасибо,
Tony