Все экземпляры SPWeb или SPSite автоматически удаляются после завершения процесса консольного приложения? - PullRequest
0 голосов
/ 14 мая 2010

У нас есть Рекомендации по использованию одноразовых объектов в SharePoint.

Но я думаю - могу ли я пропустить это при использовании консольного приложения? Это некоторый код, который я хочу выполнить один раз и после того, как этот процесс завершится. SPSite и SPWeb или нет остаются открытыми где-то?

Почему я спрашиваю это? Я просто не хочу подчеркивать, когда использую что-то вроде

var lists =
  from web in site.AllWebs.Cast<SPWeb>()
  where web is meeting workspace && list is task list
  select list

then do some stuff on lists
etc.

Здесь произошла серьезная утечка ресурсов , поскольку веб-сайты открываются, фильтруются и НЕ закрываются.

Так стоит ли мне беспокоиться в консольном приложении?

1 Ответ

3 голосов
/ 14 мая 2010

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

...