![]() |
#2 |
Чайный пьяница
|
Добрый день.
Код написан корректно, но есть несколько ньюансов на которые я не мог не обратить внимания: 1. Зачем создаётся метадатасервис? 2. Зачем использовать везде Properties - и без них индексатор нормально работает. 3. Зачем при получении стандартной сущности использовать RetrieveMultipleRequest и работать с динамическими сущностями? RetrieveMultiple метод ICrmService прекрассно отработает. 4. Зачем без сложного выражения для поиска использовать QueryExpression - в данном случае QueryByAttribute был бы выгоднее. 5. Зачем для получения одного аттрибута передаёте AllColumns? ColumnSet с нужным полем - то что надо для этого случая. 6. При каждом вызове вебсервиса стоит обрабатывать SoapException - а то в случае возникновения исключения на клиенте получите нерепрезентабельное сообщение Server Was Unable To Process Request... я для такого случая использую следующий код: Код: try { //вызов сервиса } catch(SoapException e) { throw new InvalidPluginException(e.Detail.InnerText); }
__________________
Эмо разработчик, сначала пишу код, потом плачу над его несовершенством. Подписывайтесь на мой блог, twitter и YouTube канал. Пользуйтесь моим Ultimate Workflow Toolkit |
|
|
За это сообщение автора поблагодарили: ShadowXXX (1). |
|
|