Вы можете многое сделать через API-интерфейсы SSRS, но не все. Оформить заказ
. Вы можете достичь того, что вам нужно, с помощью доступа к URL-адресам помимо API.
Вам нужно использовать следующие конечные точки для достижения вашей цели: POST / Session (для входа в систему) GET / Reports (для получения пути к отчету)
Затем используйте URL ACCESS для генерации Путь PDF, который в значительной степени ваш:
{SSRS URL} / reportserver / {path} ?rs:Format=PDF
AppDomain
очень похож на процесс, это инфраструктура, в которой работает ваше приложение. Сборка .NET должна быть загружена в AppDomain
для того, чтобы быть запущенным Не требуется загружать сторонние сборки в отдельные AppDomains
, но если вы это сделаете, это обеспечивает изоляцию между ними (как два отдельных процесса), и сбой в одном не повлияет на другой. Домены приложений могут быть выгружены независимо.
Например, SQL Server использует AppDomain
для безопасной загрузки сборок CLR в своем процессе.
Я читал о сторонних сборках, вызывающих сбой, если мы не используем AppDomain
Я думаю Вы говорите о загрузке других сборок в отдельные домены приложения. Таким образом они могут быть изолированы от вашего адресного пространства, чтобы предотвратить сбои в их коде, влияющие на вас. Стоимость состоит в том, что связь со сборкой в отдельном домене приложения более сложна и имеет штраф за перфорирование, поскольку все вызовы должны быть боевыми через границу домена приложения.
Это довольно продвинутая тема, я рекомендую прочитать в Рихтер (другие книги доступны).
есть по крайней мере один домен приложения для каждой программы, которую вы можете создать сколько угодно, но вам редко понадобится больше одного.
В основном это контейнер, в котором выполняется код, выполняющийся с определенным доверием.
У каждого приложения есть хотя бы один домен приложений, да.
Я не знаю, что означает примечание о сторонних сборках.
Существует домен приложения по умолчанию, в который загружается ваше приложение (каждый экземпляр получает свой own).
Функция аварийного завершения означает, что сторонняя сборка (например, плагин) будет аварийно завершать работу всего приложения, если оно не будет загружено в отдельный домен приложения. Поэтому рекомендуется загружать плагины в отдельный домен приложения, поскольку сбой в домене приложения приведет к сбою только этого домена приложения, а не других доменов. В блоге надстройки CLR есть несколько сообщений об этом.
Важно отметить, что домен приложения не обязательно должен находиться в одном и том же процессе или в той же системе, поэтому вы в основном нужно для удаленного взаимодействия.