Для решения этой проблемы необходимо сделать две вещи:
- сериализация xml
- Изменить время перезапуска службы отчетов (стоит около 20 секунд при первом запуске отчета для меня)
- Изменить время перезапуска пула приложений в IIS (стоит около 5 секунд при первом запуске отчета для меня)
В качестве примечания к сериализации xml есть случаи, когда вышеуказанная настройка фактически ничего не добавляет к вашей сборке. Вы можете добавить классы веб-прокси, открыв командную строку в директории вашего проекта и введя wsdl <web service name> /out<proxy class name>
например. wsdl http://myworkstn:8080/ReportServer_SQLEXPRESS/ReportExecution2005.asmx /out: ReportExecutionProxy.cs
.
Затем добавьте событие после сборки (Solution Explorer | Rt Нажмите Project | Properties | События сборки (вкладка) | Командная строка события после сборки (раздел)) "$(FrameworkSDKDir)Bin\sgen.exe" /force /assembly:"$(TargetPath)" /proxytypes /parsableerrors
Переключатель /proxytypes
добавляет только прокси-классы
Надеюсь, это сэкономит вам часы, которые понадобились мне, чтобы найти все это. :)