|
|
#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, снятие/наведение порчи. Быстро, дорого, гарантия. ![]() MS Certified Dirty Magic Professional
|
|
|
|
|
#3 |
|
Участник
|
Рефлектором смотрел, там используется Lasy, который вновь инстанциирует класс, если его нет или его убили вызовом Dispose.
|
|
|
|
|
Похожие темы
|
||||
| Тема | Ответов | |||
| Несколько вложений для письма. Нужен пример кода | 1 | |||
| Нужен совет по биллингу | 5 | |||
| Нужен совет | 4 | |||
| Права пользователя. | 7 | |||
|