У меня есть служба WCF, использующая пользовательский UsernamePasswordValidator.Валидатору необходим доступ к контексту моей сущности.
Я хотел бы создать один ObjectContext для всего вызова службы, а затем уничтожить / удалить его в конце вызова.Поэтому я создал одноэлементный статический класс, который предоставил эту функциональность, однако сейчас происходит следующее: если два вызова службы происходят одновременно, один из вызовов избавляется от одноэлементного.
Я либо сохраняю локальную ссылку на ObjectContext,в этом случае второй сервис, который использует его, видит его как утилизированный и выбрасывает и выдает ошибку, или я помещаю свойство оболочки вокруг класса Singleton везде, где мне это нужно, и затем все мои изменения отбрасываются, потому что я получаю новый экземпляробъект, если его удалил другой вызов.
Так что в основном мой вопрос состоит в том, как мне создать экземпляр ObjectContext для каждого вызова службы?
ПРИМЕЧАНИЕ. Экземпляр должен быть доступен как всервисный код И пользовательский код UsernamePasswordValidator.
Я не могу просто сделать это в конструкторе или использовать оператор использования, потому что тогда пользовательский пользовательский UsernamePasswordValidator не имеет доступа к нему ,Есть ли способ иметь статический класс на вызов?Звучит невозможно, но как обойти это?Должен ли я кэшировать объект в сеансе?
Мой сервис размещен в IIS.
ОБНОВЛЕНИЕ:
Итак, я прибил это до состояния храненияв InstanceContext с использованием объекта IExtension.Но как мне получить доступ к текущему InstanceContext в UsernamePasswordValidator?