![]() |
#1 |
Участник
|
Зачем нужен OrganizationService.Dispose?
CRM 2013
Библиотека Microsoft.Xrm.Client.dll содержит класс OrganizationService, упрощающий подключение к CRM. Класс реализует интерфейс IDisposable и все примеры использования этого класса выглядят как то так: Код: using (service = new OrganizationService("CRM")) { // use service } Код: var service = new OrganizationService("CRM"); service.Dispose(); var response = service.Execute<WhoAmIResponse>(new WhoAmIRequest()); Console.WriteLine(response.UserId); Нужно ли тогда вообще использовать конструкцию using() { } или метод Dispose для класса OrganizationService, есть ли в этом смысл? Собственно к чему вопрос... Если у меня есть кастомный WCF-сервис, стоит ли мне в каждом методе создавать новый экземпляр OrganizationService и потом его килять в конце метода, или я могу создать его один раз в конструкторе и потом использовать во всех методах не закрывая подключения? |
|
![]() |
#2 |
Moderator
|
Возможно, в методах по работе с данными проверяется состояние сервиса и они просто повторно инициализируют его после dispose. Проще всего провентилировать сборку рефлектором и посмотреть на реализацию dispose.
__________________
http://fixrm.wordpress.com, снятие/наведение порчи. Быстро, дорого, гарантия. ![]() ![]() |
|
![]() |
#3 |
Участник
|
Рефлектором смотрел, там используется Lasy, который вновь инстанциирует класс, если его нет или его убили вызовом Dispose.
|
|
|
![]() |
||||
Тема | Ответов | |||
Несколько вложений для письма. Нужен пример кода | 1 | |||
Нужен совет по биллингу | 5 | |||
Нужен совет | 4 | |||
Права пользователя. | 7 |
|