Как я могу заставить CredentialCache для процесса очистить все записи? - PullRequest
0 голосов
/ 25 января 2011

У меня есть серверный процесс, задачей которого является мониторинг различных веб-сервисов. Все веб-службы размещены на ферме SharePoint и в конечном итоге используют проверку подлинности NTLM в базовых методах HttpWebRequest.

Все мои начальные соединения работают нормально, и я вижу типичный трафик вызовов / ответов в fiddler.

Однако через некоторое время, если серверы фермы SharePoint возвращаются (когда моя служба мониторинга работает), в следующий раз, когда мое приложение пытается подключиться к тем же веб-службам, я получаю HTTP 401 Несанкционированные ответы.

Это происходит один раз, и затем, если моя служба мониторинга снова подключается, все работает, и соединения проходят нормально.

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

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

Я понимаю, что не хочу лишних запросов / ответов каждый раз, когда я звоню через веб-сервис. Но в моем периодическом мониторинге есть четкая отправная точка, где имеет смысл «очистить кэш» и заплатить штраф за запрос / ответ, чтобы все последующие запросы проходили нормально без несанкционированной ошибки 401.

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