У меня есть сервер без отслеживания состояния со службой WCF. Сервер может иметь несколько подключений к БД. Поэтому я должен предоставить соединение с БД для КАЖДОГО запроса WCF. Я делаю это в объекте запроса. Таким образом, каждый запрос WCF к моему серверу содержит информацию о соединении с БД. Это контракт операции для функции:
<OperationContract()>
Function ReadPersons(ByVal aRequest As ReadPersonsRequest) As PersonsResponse
Это контракт данных для запроса:
<DataContract()>
Public Class ReadPersonsRequest
<DataMember()>
Public Property DatabaseConfig() As DatabaseConfig
Теперь мне нужна настраиваемая проверка подлинности для моей службы WCF. Поэтому я реализовал CustomUserNamePasswordValidator, унаследованный от UserNamePasswordValidator. Я получаю имя пользователя и пароль. Пользователи хранятся в БД. Поэтому я должен сделать запрос к БД для аутентификации. Проблема в том, что я не знаю, какую БД должен использовать сервер, потому что эта информация отправляется в объекте запроса функции службы WCF (см. Выше).
Есть ли способ получить параметр (объект запроса) вызываемой функции службы WCF в реализации UserNamePasswordValidator?