2010-07-28 2 views
3

У меня есть служба WCF с Fluent NHibernate. Когда я размещаю его в IIS7.5 на моей машине разработки (WIN7), он отлично работает. Рабочий процесс показывает четкую индикацию сбора мусора для моего пула приложений.WCF Service VS IIS 7.0 VS IIS7.5

Но когда я перешел к производству, который является Windows Server 2008 с IIS7, сбор мусора не работает, а виртуальные байты в рабочем процессе продолжают увеличиваться и выходить из памяти.

Пул приложений сконфигурирован как Integrated .net 2.0. Кто-нибудь испытал это, или это известная проблема с IIS7.0, или я пропустил какие-либо настройки в своем файле конфигурации?

Я уже пробовал со своевременной переработкой, но это не имело никакого эффекта.

С уважением, Прадипом

ответ

0

Есть некоторые ссылки на сборку мусора работает реже на окнах 2008 IIS7, чем на машине развития, см, например: GC Not Running Often Enough on IIS 7 Application - Windows Server 2008

Однако, если вы ударяете эту проблему ваш код написан таким образом, чтобы объекты оставались для очистки мусора. Вы должны попробовать удалять объекты и пресекать финализацию, см. http://msdn.microsoft.com/en-us/library/ms973837.aspx, особенно пример кода в конце статьи.