Перезапуск IIS вызывает ошибку при доступе к статическому набору данных - PullRequest
2 голосов
/ 03 августа 2010

В веб-службе asp.net у меня есть статический набор данных, который загружает данные (синхронизированные) при первом доступе. Однако, когда IIS перезапускает пул приложений, у меня возникает исключение из-за того, что «Коллекция изменена; операция перечисления может не выполняться».

Перезапуск запустит новый процесс, который создаст новый статический набор данных, запросы в старом рабочем процессе не получат доступ к новому статическому набору данных, как коллекция может быть изменена? Или это возможно, старый рабочий процесс завершается непосредственно перед завершением запросов?

Или я неправильно понимаю процесс переработки? Вместо запуска нового рабочего процесса IIS запускает новый домен приложения в том же рабочем процессе? и старое и новое приложение. Домены с одним и тем же набором статических данных?

1 Ответ

1 голос
/ 03 августа 2010

Оказывается, эта ошибка не вызвана процессом перезапуска.В процессе запуска синхронизация преждевременно возвратила набор данных в последующий запрос / поток, в то время как первый запрос / поток все еще заполняет его, вызывая исключение «Сбор был изменен».

Как это часто происходит,Я ищу ключ в ящике, я полагаю, что он должен быть внутри, в то время как ключ идеально лежит на столе ящика.Иногда я просто ужасаюсь, что это разум, а не глаз.В этом случае, после того, как я разместил вопрос, я понял, что смотрю не на ту вещь, просто потому, что если это вызвано процессом переработки, я уверен, что кто-то уже должен опубликовать ответ.

Спасибо всем!Zhen

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...