Я использую некоторые веб-ссылки для служб отчетов. В первый раз они загружаются очень медленно. Есть ли способ ссылаться на файлы локально?
веб-ссылка: как мне их ускорить?
Ответы (2)
Если эти ссылки не попадают часто, скорее всего, это просто время компиляции на сервере для первого попадания. У вас должна быть возможность изменить настройки в IIS, чтобы приложение не перерабатывалось через короткий промежуток времени. Вы также можете настроить своего рода «хранитель активности» для службы.
Для решения этой проблемы необходимо сделать две вещи:
- XML-сериализация
- Изменить время перезарядки службы отчетов (стоит около 20 секунд при запуске первого отчета для меня)
- Измените время перезапуска пула приложений в IIS (для меня это около 5 секунд при первом запуске отчета)
В качестве примечания к сериализации xml есть случаи, когда приведенный выше параметр фактически ничего не добавляет к вашей сборке. Вы можете добавить классы веб-прокси, открыв командную строку в каталоге проекта и введя wsdl <web service name> /out<proxy class name>
, например. wsdl http://myworkstn:8080/ReportServer_SQLEXPRESS/ReportExecution2005.asmx /out: ReportExecutionProxy.cs
.
Затем добавьте событие post build (Обозреватель решений | Rt Щелкните Project | Properties | Build Events (Tab) | Post –build event command line (section)) "$(FrameworkSDKDir)Bin\sgen.exe" /force /assembly:"$(TargetPath)" /proxytypes /parsableerrors
Переключатель /proxytypes
добавляет только прокси-классы
Надеюсь, это сэкономит вам часы, которые я потратил на то, чтобы все это найти. :)