Существует ли AppDomain для каждой программы C#?

Вы можете многое сделать через API-интерфейсы SSRS, но не все. Оформить заказ

. Вы можете достичь того, что вам нужно, с помощью доступа к URL-адресам помимо API.

Вам нужно использовать следующие конечные точки для достижения вашей цели: POST / Session (для входа в систему) GET / Reports (для получения пути к отчету)

Затем используйте URL ACCESS для генерации Путь PDF, который в значительной степени ваш:

{SSRS URL} / reportserver / {path} ?rs:Format=PDF

9
задан devnull 22 April 2009 в 09:41
поделиться

5 ответов

AppDomain очень похож на процесс, это инфраструктура, в которой работает ваше приложение. Сборка .NET должна быть загружена в AppDomain для того, чтобы быть запущенным Не требуется загружать сторонние сборки в отдельные AppDomains , но если вы это сделаете, это обеспечивает изоляцию между ними (как два отдельных процесса), и сбой в одном не повлияет на другой. Домены приложений могут быть выгружены независимо.

Например, SQL Server использует AppDomain для безопасной загрузки сборок CLR в своем процессе.

15
ответ дан 4 December 2019 в 09:38
поделиться

Я читал о сторонних сборках, вызывающих сбой, если мы не используем AppDomain

Я думаю Вы говорите о загрузке других сборок в отдельные домены приложения. Таким образом они могут быть изолированы от вашего адресного пространства, чтобы предотвратить сбои в их коде, влияющие на вас. Стоимость состоит в том, что связь со сборкой в ​​отдельном домене приложения более сложна и имеет штраф за перфорирование, поскольку все вызовы должны быть боевыми через границу домена приложения.

Это довольно продвинутая тема, я рекомендую прочитать в Рихтер (другие книги доступны).

3
ответ дан 4 December 2019 в 09:38
поделиться

есть по крайней мере один домен приложения для каждой программы, которую вы можете создать сколько угодно, но вам редко понадобится больше одного.

В основном это контейнер, в котором выполняется код, выполняющийся с определенным доверием.

1
ответ дан 4 December 2019 в 09:38
поделиться

У каждого приложения есть хотя бы один домен приложений, да.

Я не знаю, что означает примечание о сторонних сборках.

2
ответ дан 4 December 2019 в 09:38
поделиться

Существует домен приложения по умолчанию, в который загружается ваше приложение (каждый экземпляр получает свой own).

Функция аварийного завершения означает, что сторонняя сборка (например, плагин) будет аварийно завершать работу всего приложения, если оно не будет загружено в отдельный домен приложения. Поэтому рекомендуется загружать плагины в отдельный домен приложения, поскольку сбой в домене приложения приведет к сбою только этого домена приложения, а не других доменов. В блоге надстройки CLR есть несколько сообщений об этом.

Важно отметить, что домен приложения не обязательно должен находиться в одном и том же процессе или в той же системе, поэтому вы в основном нужно для удаленного взаимодействия.

1
ответ дан 4 December 2019 в 09:38
поделиться
Другие вопросы по тегам:

Похожие вопросы: