Я использую 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 и собственными изображениями - безуспешно.