Служба Odata WCF w3wp Creap Память процесса - PullRequest
0 голосов
/ 27 марта 2012

Я немного запутался в использовании памяти моей службой WCF.Краткий обзор, моя служба wcf является провайдером данных, который позволяет моему приложению ipad общаться с нашей базой данных сервера sql.

Проблема заключается в том, что когда клиент (устройство ipad использует библиотеку odata target c) вызывает простой наборданных (скажем, получить всех клиентов из базы данных) память процесса w3wp увеличивается на несколько мегабайт и никогда не возвращается.Поскольку клиент хочет сделать только один раз (извлечь набор данных, обновить набор данных, удалить набор данных), то после завершения вызова память, которую он использовал для выполнения действия, должна быть освобождена.Это не тот случай вообще?Я понимаю, что происходит некоторое кеширование или, возможно, вызывающий экземпляр не удаляется.

Может кто-нибудь направить меня в правильном направлении, чтобы w3wp был скудным и сдул память после завершения вызова.

Заранее спасибо

1 Ответ

0 голосов
/ 27 марта 2012

ваша база данных находится на той же машине, что и ваш веб-сервер? если ваши индексы не будут применены должным образом, вы будете в конечном итоге потреблять много ресурсов. если вы используете MS SQL Server, проверьте минимальные настройки памяти для сервера. После достижения минимального предела памяти MS SQL Server, вероятно, не освободит его до перезагрузки. Вы также должны взглянуть на свою обязательную конфигурацию. если вы используете привязку полного состояния (сеанса) и не закрываете сеанс, экземпляр службы будет оставаться в памяти в течение 10 минут (по умолчанию), ожидая новых клиентских запросов от того же прокси-объекта.

...