Могут быть использованы CERS, чтобы гарантировать, что доработка никогда не вызывается?
-
12-12-2019 - |
Вопрос
У нас есть очень сложная проблема взаимодействия, в которой нить, используемая для инициализации 3-й партийной системы, должно быть одинаковым потоком, используемой для ее завершения. Неспособность сделать это результаты в тупике. Мы выполняем взаимодействие из службы WCF, размещенной в IIS. В настоящее время эта очистка выполняется в распоряжении и нормально работает очень хорошо. К сожалению, под тяжелой нагрузкой IIS будет делать грубые разгрузки, и мы никогда не смотрим называть утилизацию. Мы можем переместить логику отключения в критический финализатор, но это не помогает, поскольку у нас больше нет доступа к инициализации нити! На данный момент наша единственная регресс, похоже, уведомлен CLR, в настоящее время примерчан, скорее всего, в коррумпированном состоянии. Однако я не уверен, как это сделать (или если это даже возможно). Возможно, это полезность контрактов на уровне класса, но я признаю, что я не понимаю тех, кто полностью полностью.
Редактировать: альтернативно, это можно рассматривать как проблема с аффинностью резьбы в финаторе. Если у кого-то есть умное решение, я все уши :)
Решение
Попробуйте разделить код, который зависит от этой собственной зависимости от автономной службы Windows Service, если это возможно.Если он не может хорошо работать с WCF / IIS, вы должны избегать конфликтов вместо борьбы с ним.