MS CRM 4.0 SDK - начальная задержка запроса / ускоренная загрузка приложений .NET - PullRequest
3 голосов
/ 19 ноября 2010

Я использую C # .NET SDK для MS CRM 4.0.В частности, я использую интерфейс XRM SDK.

Когда я запускаю свое клиентское приложение, первый запрос (например, get all crm systemusers) имеет издержки около 5 секунд .Накладные расходы возникают до того, как что-либо отправлено через сеть (наблюдается в wireshark).Вот почему я полагаю, что задержка связана с некоторыми издержками загрузки .NET.

Я нашел некоторые объяснения в http://www.eggheadcafe.com/software/aspnet/31916049/the-initial-delay-when-using-the-crmservice-is-caused-by-two-things.aspx:

Первоначальная задержка при использовании CrmService вызвана двумя причинами.Сначала должен быть скомпилирован прокси-класс CrmService (от IL до native) и загружена сериализация.Это требует большого объема обработки и, следовательно, времени.Эта компиляция происходит только в первый раз, когда экземпляр прокси-сервера crmservice создается в домене приложений.

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

Это нормальное поведение для .NET framework.Вы можете оптимизировать время загрузки CrmService, создав новый прокси-сервер службы с помощью инструмента WSDL и очистив любые запросы и объекты, которые вы не используете.Проблема с этим заключается в том, что это большая работа.

Если предположить, что приведенное выше объяснение применимо, есть ли что-нибудь еще, что можно сделать, чтобы избежать задержки - кроме ручного редактирования сгенерированных прокси-классов?

Я экспериментировал с GAC и собственными изображениями - безуспешно.

Ответы [ 2 ]

1 голос
/ 03 апреля 2011

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

1 голос
/ 19 февраля 2011

Вы можете отказаться от использования строго типизированных прокси-классов интерфейса WSDL и просто использовать динамический класс сущностей для SDK.

Это не требует генерации или загрузки классов сериализации. Но это потребует от вас использования динамического представления сущности, которое является более громоздким и подверженным ошибкам.

...