На главную Наши проекты:
Журнал   ·   Discuz!ML   ·   Wiki   ·   DRKB   ·   Помощь проекту
ПРАВИЛА FAQ Помощь Участники Календарь Избранное RSS
msm.ru
  
> Долгий первый вызов WCF метода
    Доброго времени суток!

    Написал простую WCF службу с одним методом который только возвращает строку. Разместил свою службу в IIS. Все работает.
    Но, первый вызов метода занимает много времени (2 секунды), последующие вызовы проходят за сотые доли секунды.

    Подскажите, откуда берется эта задержка при первом вызове и можно ли ее "удалить"?

    Заранее спасибо)
      Это JIT компиляция из MSIL в машинный язык - она характерна для всех .NET приложений, а не только WCF сервисов. JIT компилирует методы перед их первым вызовом, это означает, что если у тебя будет два независимых метода в сервисе, то после вызова первого второй еще будет не скомпилирован. После компиляции машинный код сохраняется в кэше и последующие вызовы выполняются быстро.
      Обойти (не избавиться) это можно при помощи "предварительного разогрева", как в ASP.NET 4, но не думаю что есть большая необходимость.
        spicard: спасибо за ответ! единственное, что хочеться уточнить это "предварительный разогрев". что имелось в виду? использование утилиты NGEN?
        Сообщение отредактировано: Mushik -
          Смотри сюда: Автозапуск ASP.NET 4.0 приложений
          Идея понятна, создано оно не столько для прекомпиляции, сколько для заполнения кэшей.
            Спасибо еще раз!
              Если сервис не открывается явно, то при первом вызове метода идет настройка канала связи
              0 пользователей читают эту тему (0 гостей и 0 скрытых пользователей)
              0 пользователей:


              Рейтинг@Mail.ru
              [ Script execution time: 0,0204 ]   [ 16 queries used ]   [ Generated: 2.05.24, 20:13 GMT ]